Написание клиента веб-службы в C#/WCF и невозможность получения канала для аутентификации. Это сообщение об ошибке, что я получаю, когда я пытаюсь выполнить API вызова:Аутентификация сертификата WCF и клиента
"Could not establish secure channel for SSL/TLS with authority 'www.redacted.com'."
И конфигурационный файл:
<behaviors>
<endpointBehaviors>
<behavior name="NewBehavior0">
<clientCredentials>
<clientCertificate findValue="th um bp ri nt va lu e go es he re"
x509FindType="FindByThumbprint" />
</clientCredentials>
</behavior>
</endpointBehaviors>
</behaviors>
<bindings>
<basicHttpBinding>
<binding name="WsApiServiceSoapBinding" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536" messageEncoding="Mtom" textEncoding="utf-8" transferMode="Buffered" useDefaultWebProxy="true">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" maxBytesPerRead="4096" maxNameTableCharCount="16384"/>
<security mode="Transport">
<transport clientCredentialType="None" proxyCredentialType="None" realm=""/>
<message clientCredentialType="UserName" algorithmSuite="Default"/>
</security>
</binding>
</basicHttpBinding>
</bindings>
<client>
<endpoint address="https://www.<redacted>.com/services/WsApiService/"
behaviorConfiguration="NewBehavior0" binding="basicHttpBinding"
bindingConfiguration="WsApiServiceSoapBinding" contract="WsApiServicePortType"
name="WsApiServicePort" />
</client>
Единственное, что я делаю в клиентском коде выполнение вызова метода getDoc. Прокси-класс автоматически генерируется из WSDL под WCF. Я проверил, что сертификат установлен в категории «Личные» в certmgr, истек и не предназначен для всех целей. (Я должен отметить, что этот же сертификат работал очень хорошо под WSE.) Я искал вокруг и не могу найти ничего, что противоречит тому, как он настроен в настоящее время.
Любые идеи? Если вам нужно увидеть еще один код, дайте мне знать, и я отправлю его как можно скорее.
подписан ли сертификат самообслуживание? – dna
Это так. Он был выпущен и подписан сторонним веб-сервисом. – Ant
Тогда посмотрите на этот вопрос: http://stackoverflow.com/questions/1742938/wcf-could-not-establish-trust-relationship-for-the-ssl-tls-secure-channel-with – dna