Сначала немного справочной информации. У меня есть пакет служб SSIS, который работает в 32-разрядной среде Windows Server 2003 с пакетом обновления 2 (SP2). Пакет недавно начал сбой со следующей ошибкой во время задачи сценария, которая загружает веб-страницу с использованием соединения SSL:
"The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.
Некоторое копание выявило пару вещей: я также не мог получить доступ к рассматриваемому веб-сайту с помощью IE8 с сервера (я могу с Firefox), и веб-сайту был только что выдан новый сертификат SHA256.
После некоторых исследований я полагаю, что проблема в том, что у меня нет поддержки сертификатов SHA2 на этом сервере. Я взял сертификат с сайта и запустил, CertUtil -verify [cert file]
который дает следующий результат:
The signature of the certificate can not be verified. 0x80096004 (-2146869244)
Я нашел пару исправлений от Microsoft, и, насколько я понимаю, любой из них должен включить поддержку сертификатов SHA2:
Поэтому я запросил исправление для kb968730 и попытался установить его, но получил следующую ошибку:
The installation cannot continue because the following packages might not be valid:
KB2616676_V2 c:\windows\system32\dllcache\crypt32.dll 5.131.3790.4905
KB2616676_V2 c:\windows\system32\crypt32.dll 5.131.3790.4905
Reinstall the packages listed above, and then reinstall KB968730
Версия библиотеки crypt32, включенная в исправление, - 5.131.3790.4477, которая объясняет, почему установщик не будет продолжать работу.
На данный момент я не совсем уверен, что мне нужно делать. В статье kb968730 указывается, что crypt32.dll - единственный файл, который обновляется исправлением, что заставляет меня задуматься, поскольку у меня уже есть более новая версия, разве у меня не должно быть этой функциональности? Но может показаться, что я этого не делаю, если не ошибаюсь в коренной причине проблемы.
источник
Ответы:
Версия Crypt32.dll 5.131.3790.5235 устраняет проблему (после перезагрузки). Он доступен по адресу http://support2.microsoft.com/kb/2868626.
Ранее установленная версия была 5.131.3790.5014, и это не решило проблему. Согласно этому сообщению ( https://mendel129.wordpress.com/tag/crypt32-dll/ ), существует два варианта версии 5014: один из Центра обновления Windows (KB2661254, не работает), а другой как QFE (KB968730). ).
источник
Эта проблема решается путем установки KB3072630 , которая устанавливается автоматически, если у вас включен Центр обновления Windows. Номер версии Crypt32.dll после обновления составляет 5.131.3790.5668.
KB938397 и KB968730 устарели и заменены вышеприведенным обновлением.
источник
Я также получил эту ошибку. Я хотел бы установить сертификат на указанном сервере и получить эту ошибку. Мое решение состояло в том, что я должен был пойти дальше и установить корневой / промежуточный сертификат на каждом сервере, который вызывал этот конкретный сертификат. Вероятно, это потому, что я только что обновил свой внутренний CA.
Так что, если существует X серверов, которые обращаются к этому сертификату, установите его на этих серверах. Это позаботилось о моей проблеме.
источник