Наш клиент WCF обычно вызывает веб-службу. Все развертывания клиента вызывают один и тот же веб-сервис. В большинстве развертываний он выполняет вызов без каких-либо проблем, за исключением одного экземпляра, который сообщает следующее исключение:
System.Net.Http.HttpRequestException: An error occurred while sending the request. ---> System.Net.WebException: The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel. ---> System.Security.Authentication.AuthenticationException: The remote certificate is invalid according to the validation procedure.
at System.Net.TlsStream.EndWrite(IAsyncResult asyncResult)
at System.Net.PooledStream.EndWrite(IAsyncResult asyncResult)
at System.Net.ConnectStream.WriteHeadersCallback(IAsyncResult ar)
--- End of inner exception stack trace ---
at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
at System.Net.Http.HttpClientHandler.GetResponseCallback(IAsyncResult ar)
--- End of inner exception stack trace ---
Что может отличаться от этой установки?
Мы протестировали URL-адрес, который клиент использует для совершения вызова веб-службы в браузере. Веб-служба возвращает ответ ok в Firefox, но не в IE.
Я нашел решение - был установлен новый сертификат сервера веб-сервисов, установленный с SHA256, а для Windows 2003 Server требуется исправление для его поддержки:
Вы еще не видели эту статью? Он содержит довольно полезные советы по устранению этих проблем: http://blogs.msdn.com/b/jpsanders/archive/2009/09/16/troubleshooting-asp-net-the-remote-certificate-is-invalid-according- к-проверка-procedure.aspx? Перенаправление = верно
Например, вам нужно проверить, что на конкретном компьютере установлены все корневые и промежуточные сертификаты.