views:

44

answers:

1

I am new at WCF programming model and I want to use netTcpBinding. Before I ask my question below this is my custom binding :

<customBinding>
    <binding name="basic">
      <security authenticationMode="UserNameForCertificate"/>
      <binaryMessageEncoding/>
      <httpsTransport/>
    </binding>
</customBinding>

When I create a service reference using a simple console application it finds a certificate and ask me to use it. And this way I can use the webservice ...

But when I change binding to netTcpBinding with TransportWithMessageCredential the service is looking for certificate and could not find it like this :

<netTcpBinding>
    <binding name ="sdfsd">
      <security mode="TransportWithMessageCredential">
        <message clientCredentialType="UserName"/>
        <transport clientCredentialType="None"/>
      </security>
    </binding>
</netTcpBinding>

ServiceCertificate.SetCertificate(StoreLocation.LocalMachine, StoreName.My, X509FindType.FindByIssuerName, "Contoso.com").

At this point I use a CustomNameValidator and I do it programmatically.

So when I use netTcpBinding with TransportWithMessageCredential, why does the call to SetCertificate not find the installed certificate? Am I missing something ? Or do I have to add something?

A: 

ok guys...sorry but some of the message is miising ... my custom binding is customBinding

<customBinding>
    <binding name="basic">
      <security authenticationMode="UserNameForCertificate"/>
      <binaryMessageEncoding/>
      <httpsTransport/>
    </binding>
  </customBinding>

and netTcpBing that i tried to convert is :

   <netTcpBinding>
    <binding name ="sdfsd">
      <security mode="TransportWithMessageCredential">
        <message clientCredentialType="UserName"/>
        <transport clientCredentialType="None"/>
      </security>

    </binding>
  </netTcpBinding>
evgeni