use*_*080 12 ssl msxml serverxmlhttp windows-server-2003 asp-classic
我们将SSL证书更新为SHA2,但中间证书为SHA1.Chrome和其他浏览器已经确定整个链必须是SHA2.我们的客户在关注地址栏中的黄色警告.有传言称,在几个月内,Chrome和其他浏览器将以停止屏幕取代轻度不引人注目的谨慎.我们当然不希望这样!
...
所以我们重新颁发了证书,新的证书由SHA2中间人签名.当我们使用该证书加密我们服务器上的流量时,我们使用MSXML2.ServerXMLHTTP(在Windows Server 2003上运行)访问该服务器上的远程Web服务的应用程序无法再连接.
在研究之后,我们应用了这两个看起来可能已解决该问题的修补程序:
https://support.microsoft.com/kb/938397/en-us https://support.microsoft.com/kb/968730/en-us
但问题仍然存在.使用SHA1中间件将证书切换回SHA2,我们没有任何问题.
我们已在受信任的商店中安装了中间SHA2证书,但问题仍然存在.
我们已经尝试指定MSXML2.ServerXMLHTTP的所有版本,但都失败了.
ASP代码:
function query(xml)
dim xmlhttp, xmlDoc, url
url = application("component_url")
set xmlhttp = server.createobject("MSXML2.ServerXMLHttp")
call xmlhttp.open ("POST", url, false)
call xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded")
on error resume next
err.clear
call xmlhttp.send(xml)
if err.number <> 0 then
call sendAlert("An error has occurred while trying to send your request", message)
else
dim rt
rt = ConvertUtf8BytesToString(xmlhttp.responseBody)
set xmlDoc = server.createobject("MSXML2.DomDocument")
xmlDoc.loadXml(rt)
end if
on error goto 0
set query = xmlDoc
set xmlHttp = nothing
set xmlDoc = nothing
end function
Run Code Online (Sandbox Code Playgroud)
您的情况很可能与这篇文章相同,特别是您提到的最后一个答案,该脚本已经运行了 10 多年。
完整引用最后一个答案:
我知道这是一个老问题。此问题可能是由于不受支持的密码套件造成的。尝试添加 - TLS_RSA_WITH_AES_128_CBC_SHA AES128-SHA - TLS_RSA_WITH_AES_256_CBC_SHA AES256-SHA
这意味着您必须遵循此知识库: http: //support.microsoft.com/kb/948963如果您仍在使用 Windows 2003,此更新也很有趣。它将允许使用 SHA2 连接到站点 - http://support。 microsoft.com/kb/968730
请注意,Windows Server 2003 支持将于 2015 年 7 月 14 日结束
如果代码在 Windows Server 2003 上运行,我建议您在较新的计算机上尝试它,也许是装有 Windows 7 的笔记本电脑以进行快速测试。
| 归档时间: |
|
| 查看次数: |
4426 次 |
| 最近记录: |