Немного справочной информации сначала. У меня есть пакет SSIS, который работает в среде Windows Server 2003 SP2 32 битов. Пакет недавно начал перестать работать со следующей ошибкой во время задачи сценария, которая загружает веб-страницу с помощью соединения 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 является единственным файлом, который обновляется текущими исправлениями, которые заставляют меня думать, так как у меня уже есть более новая версия, у меня не должно уже быть этой функциональности? Но, казалось бы, как будто я не делаю, если я не ошибаюсь о первопричине проблемы.
The 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).
Я тоже получил эту ошибку. Я бы установил сертификат на указанный сервер и получил бы эту ошибку. Моим решением было то, что я должен был установить корневой/посредний сертификат на каждый сервер, который вызывал этот сертификат. Вероятно, это произошло потому, что я только что обновил свой внутренний CA.
Итак, если есть X серверов, которые обращаются к этому сертификату, установите его на эти серверы. Это решило мою проблему.