Если у меня есть сертификат SSL, выданный доверенным ЦС, нужно ли мне по-прежнему импортировать сертификат SSL на клиентский компьютер при подключении к службе WCF через net.tcp?
Когда я использовал wsdualhttpbinding, я мог просто подключиться через https. Теперь я переключился на net.tcp и добавил
<bindings>
<netTcpBinding>
<binding name="InsecureTcp" maxBufferPoolSize="2147483647" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647">
<security mode="TransportWithMessageCredential">
<message clientCredentialType="Certificate"/>
</security>
</binding>
</netTcpBinding>
</bindings>
в файл web.config.
Я могу получить доступ к WSDL-файлу через https, но когда я пытаюсь подключиться с моего клиента, я получаю следующую ошибку:
Дополнительная информация: сертификат клиента не предоставлен. Укажите сертификат клиента в ClientCredentials.
Я попытался добавить пользовательское поведение в файл конфигурации клиента:
<behaviors>
<endpointBehaviors>
<behavior name="CustomBehavior">
<clientCredentials>
<clientCertificate findValue="example.com" x509FindType="FindBySubjectName"
storeLocation="LocalMachine" storeName="My" />
</clientCredentials>
</behavior>
</endpointBehaviors>
</behaviors>
Но это работает только в сочетании с импортом сертификата в мое локальное хранилище сертификатов...