首先是一些背景信息.我有一个在
Windows Server 2003 SP2 32位环境中运行的SSIS包.在使用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证书:
> http://support.microsoft.com/kb/938397
> http://support.microsoft.com/kb/968730
所以我请求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
http://support2.microsoft.com/kb/2868626
以前安装的版本是5.131.3790.5014版本,它没有解决问题.根据这篇文章(https://mendel129.wordpress.com/tag/crypt32-dll/),5014版本有两种变体:一种来自Windows Update(KB2661254,不起作用),另一种来自QFE(KB968730).