Спочатку трохи довідкової інформації. У мене є пакет SSIS, який працює в 32-бітному середовищі Windows Server 2003 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 - єдиний файл, який оновлюється виправленням, що змушує задуматися, оскільки я вже нову версію, чи не маю я вже цього функціоналу? Але, здавалося б, я цього не роблю, якщо я не помиляюся про першопричину проблеми.