Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp classic 经典ASP TLS 1.2问题_Asp Classic - Fatal编程技术网

Asp classic 经典ASP TLS 1.2问题

Asp classic 经典ASP TLS 1.2问题,asp-classic,Asp Classic,我正在使用我继承的一个经典asp脚本。我正在尝试连接TLS1.2,但遇到问题。当我尝试运行以下操作时,出现500错误: <% Const WinHttpRequestOption_SecureProtocols = 9 Const SecureProtocol_SSL2 = 8, SecureProtocol_SSL3 = 32, _ SecureProtocol_TLS1 = 128, SecureProtocol_TLS1_1 = 512, _

我正在使用我继承的一个经典asp脚本。我正在尝试连接TLS1.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),它运行得很好,但不会通过TLS1.2进行连接。服务器注册表已经更新,通过SSL实验室()对服务器进行的检查表明服务器已全部设置为TLS 1.2


这是在Windows 2008服务器上(不是R2)。关于如何运行TLS 1.2有什么想法吗?

Windows 2008/Vista上的WinHttp不支持TLS 1.1或TLS 1.2。如果我在Visual Studio中使用对象浏览器检查Windows 2008计算机上的winhttp.dll,您会在WinHttpRequestSecureProtocols枚举下面的屏幕截图中注意到,WinHttpRequestSecureProtocols枚举没有
SecureProtocol\u TLS1\u 1
SecureProtocol\u TLS\u 1\u 2

将其与Windows 10计算机进行比较:


允许将注册表更改为默认WinHttp到TLS 1.1和/或TLS 1.2,这样做可以避免无法以编程方式设置TLS 1.1或TLS 1.2的问题,但Windows 2008没有更新,只有Windows 2008 R2和更高版本。Windows Server 2016本机支持此功能,因此如果可能,我建议更新到Server 2016。

您确定吗?不是100%。我知道,当我在SSL实验室上运行测试时,它表明TLS1.2是有效的,但我无法以编程方式使用它。如何确定?我认为Windows 2008没有太多选项,因为用于启用TLS 1.1和TLS 1.2 WinHttp支持的修补程序只针对Windows 2008 R2及更高版本提供。我已经在服务器上运行了TLS 1.2,我只是在经典ASP脚本中以编程方式访问它时遇到了问题。这可能是某个地方的IIS设置吗?我们希望关闭TLS 1.1,然后使用windows server 2016服务器上的winhttp.dll副本覆盖服务器上的winhttp.dll,以查看这是否是临时修复。。。请注意,这是一台2008 R2机器。。。将很快更新。更新注册表后,是否必须重新启动计算机才能使其生效?我尝试重新启动网站,但这还不够。