在Windows Server 2003上启用SHA2证书支持

先有一点背景资料 我有一个运行在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) 

我发现了几个微软的修补程序,据我所知,他们中的任何一个都应该启用对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是唯一的修复程序,让我觉得更新的文件,因为我已经有一个较新的版本,不应该我已经有这个function? 但是,除非我误解这个问题的根源,否则看起来好像我不这样做。

Crypt32.dll 5.131.3790.5235版本修复了问题(重新启动后)。 它在http://support2.microsoft.com/kb/2868626可用

以前安装的版本是5.131.3790.5014版本,并没有解决问题。 根据这篇文章( https://mendel129.wordpress.com/tag/crypt32-dl​​l/ ),有5014版本的两个变种:一个来自Windows Update(KB2661254,不起作用),另一个作为QFE(KB968730 )。

如果您启用了Windows Update,则可以通过安装KB3072630来解决此问题。 更新后Crypt32.dll的版本号是5.131.3790.5668。

KB938397和KB968730已弃用,由上述更新所取代。

我也收到了这个错误。 我会继续安装证书到指定的服务器上,并得到这个错误。 我的解决scheme是,我必须继续在每个调用该特定证书的服务器上安装根/中级证书。 这可能是因为我刚刚更新了我的内部CA.

因此,如果有X个服务器调用该证书,请将其安装在这些服务器上。 这照顾我的问题。