我正在使用我继承的经典asp脚本。我正在尝试与TLS 1.2连接,但我遇到了问题。当我尝试运行以下内容时出现500错误:
<%
Const WinHttpRequestOption_SecureProtocols = 9
Const SecureProtocol_SSL2 = 8, SecureProtocol_SSL3 = 32, _
SecureProtocol_TLS1 = 128, SecureProtocol_TLS1_1 = 512, _
SecureProtocol_TLS1_2 = 2048
Set objHttp = Server.CreateObject("WinHTTP.WinHTTPRequest.5.1")
objHttp.option(9) = 128
objHttp.open "GET", "https://howsmyssl.com/a/check", false
objHttp.Send
Response.Write objHttp.responseText
Set objHttp = Nothing
%>
如果我取消选项(9),它运行正常,但不通过TLS 1.2连接。服务器注册表已更新,并且通过SSL实验室(https://www.ssllabs.com/ssltest/index.html)检查服务器显示服务器已全部设置为TLS 1.2。
这是在Windows 2008 Server(不是R2)上。关于如何运行TLS 1.2的任何想法?
答案 0 :(得分:1)
SecureProtocol_TLS1_1
或SecureProtocol_TLS_1_2
。
将此与Windows 10计算机进行比较:
KB3140245允许将注册表更改为默认WinHttp到TLS 1.1和/或TLS 1.2,这样做可以解决无法以编程方式设置TLS 1.1或TLS 1.2的问题,但Windows没有更新2008年,仅限Windows 2008 R2及更高版本。 Windows Server 2016本机支持此功能,因此我建议尽可能更新到Server 2016。