Najpierw trochę podstawowych informacji. Mam pakiet SSIS, który działa w 32-bitowym środowisku Windows Server 2003 SP2. Pakiet ostatnio zaczął się nie powieść z następującym błędem podczas zadania skryptu, które pobiera stronę internetową za pomocą połączenia SSL:
"The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.
Niektóre kopanie ujawniło kilka rzeczy: również nie mogłem uzyskać dostępu do omawianej witryny przy użyciu IE8 z serwera (mogę to zrobić z Firefoksem), a strona właśnie wydała nowy certyfikat SHA256.
Po przeprowadzeniu badań moje obecne założenie jest takie, że problem polega na tym, że nie mam obsługi certyfikatów SHA2 na tym serwerze. Pobrałem certyfikat z witryny i uruchomiłem, CertUtil -verify [cert file]
co daje następujący wynik:
The signature of the certificate can not be verified. 0x80096004 (-2146869244)
Znalazłem kilka poprawek od firmy Microsoft i z tego, co rozumiem, każda z nich powinna włączyć obsługę certyfikatów SHA2:
Poprosiłem więc o poprawkę dla KB968730 i próbowałem ją zainstalować, ale otrzymałem następujący błąd:
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
Wersja biblioteki crypt32 zawartej w poprawce to 5.131.3790.4477, co wyjaśnia, dlaczego instalator nie chce kontynuować.
W tym momencie nie jestem do końca pewien, co muszę zrobić. Artykuł kb968730 wskazuje, że crypt32.dll jest jedynym plikiem, który jest aktualizowany przez poprawkę, co sprawia, że myślę, ponieważ mam już nowszą wersję, czy nie powinienem już mieć tej funkcji? Ale wydaje się, że tak nie jest, chyba że mylę się co do pierwotnej przyczyny problemu.