安装 Microsoft 发布的 KB4019276 后,我尝试在 Windows XP POSReady 上使用 TLS 1.2 - https://support.microsoft.com/en-us/help/4019276/update-to-add-support-for-tls- 1-1-and-tls-1-2-in-windows)并在注册表中启用它。
我非常简单的测试代码是:
Option Explicit
Const WinHttpRequestOption_SecureProtocols = 9
Const SecureProtocol_SSL2 = 8, SecureProtocol_SSL3 = 32, _
SecureProtocol_TLS1 = 128, SecureProtocol_TLS1_1 = 512, _
SecureProtocol_TLS1_2 = 2048
Dim objHTTP
Set objHTTP = CreateObject("WinHttp.WinHttprequest.5.1")
objHTTP.open "GET", "https://www.howsmyssl.com/a/check", False
objHTTP.Option(WinHttpRequestOption_SecureProtocols) = SecureProtocol_TLS1_2
objHTTP.Send
If objHTTP.WaitForResponse(30) Then 'wait up to 30 seconds
WScript.Echo "Status : " & objHTTP.Status & "<br />"
WScript.Echo "Response Length : " & LenB(objHTTP.ResponseBody)
WScript.Echo "Response Text : " & objHTTP.ResponseText
Else
WScript.Write "Request timed out"
End If
Set objHTTP = Nothing
但任何超过 TLS 1.0 的东西都给了我错误:
Invalid argument for Option
同时,禁用 SSL 2.0、SSL 3.0 和 TLS 1.0 我收到关于无法协商安全协议的错误。
有什么建议吗?
谢谢你。