Назад | Перейти на главную страницу

Не удается получить доступ к веб-службе https с веб-сервера - фатальное предупреждение канала: 40

Около месяца назад наш код для доступа к веб-сервису начал давать сбой и выдает ошибку, связанную с SSL-соединением:

System.Net.WebException: The request was aborted: Could not create SSL/TLS secure channel. at System.Net.HttpWebRequest.GetRequestStream(TransportContext& context) at System.Net.HttpWebRequest.GetRequestStream() at 

В средстве просмотра событий регистрируется следующая ошибка.

Код события: 36887 - «Получено следующее критическое предупреждение: 40.»

Это 64-разрядная версия Windows Server 2008. Он настроен на соответствие PCI, поэтому при настройке сервера были внесены изменения в SSL, чтобы он соответствовал, но никаких последних изменений до того, как это перестало работать.

На сервере, если я пытаюсь получить доступ с помощью Internet Explorer к URL-адресу HTTPS веб-службы, он сообщает, что не может отображать страницу, и то же событие регистрируется. Это также происходит на некоторых других HTTPS-сайтах, которые я пробовал.

Если я использую Google Chrome на том же сервере, он работает нормально.

В моем коде C # ASP.NET я пытался игнорировать ошибки SSL, но это не помогло:

System.Net.ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };

Я также читал об обновлении за ноябрь 2014 г., которое могло вызвать проблему, но более позднее исправление, похоже, уже было установлено.

Есть идеи, что еще я могу попробовать?

Я нашел решение ... Я использовал приложение под названием IIS Crypto, который изменяет параметры реестра для протоколов SSL, шифров, хэшей, обменов ключами и порядка шифров SSL, чтобы установить для них оптимальную конфигурацию для соответствия PCI. После перезапуска сервера не только Internet Explorer мог получить доступ к странице HTTPS, но и код, который обращается к веб-службе, снова начал работать.