Tem várias formas.
seria instalado no client? via token?
vc precisa primeiramente descobrir como esse seu ws exige q seja enviado esse credential e em qual camada.
Mas assim,
no binding vc configura (esse exemplo usa um na camada de transport)
<bindings>
<basicHttpBinding>
<binding name="binding1" messageEncoding="Mtom" maxBufferSize="999999999" maxReceivedMessageSize="999999999">
<security mode="Transport">
<transport clientCredentialType="Certificate"></transport>
</security>
</binding>
</basicHttpBinding>
</bindings>
E adiciona no behavior o clientcredential chamando o certificado instalado na máquina.
<behaviors>
<endpointBehaviors>
<behavior name="behavior1">
<clientCredentials>
<clientCertificate findValue="919962cae0319834686baf764fba9d85786f2e6f" x509FindType="FindByThumbprint" storeLocation="CurrentUser" storeName="My"/>
<serviceCertificate>
<authentication certificateValidationMode="None"/>
<defaultCertificate findValue="c0c89e6e7e7dc18079c11e97233b8222dc88ae78" x509FindType="FindByThumbprint" storeLocation="CurrentUser" storeName="My"/>
</serviceCertificate>
</clientCredentials>
<customBehavior/>
</behavior>
</endpointBehaviors>
</behaviors>
Eu uso assim com um serviço aqui e tenho sucesso. É uma boa linha pra você começar a pesquisar.
--
Visite:
DotNet BrCompras no Exterior
att.
Bruno Gross
(21) 83422729