首先了解一些背景信息。我有一个在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证书的支持:
因此,我请求了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是由该修补程序更新的唯一文件,该文件使我认为,由于我已经具有较新的版本,因此我不应该已经具有此功能吗?但是,除非我对问题的根本原因有所误解,否则我似乎没有。