在 Windows Server 2008 R2 上启用 TLS 1.2

Ani*_*rma 5 iis ssl windows-server sslv3

我正在尝试在 Windows Server 2008 R2 上启用 TLS 1.2。我已创建注册表项以启用 TLS 1.2,如以下链接所述: http: //forums.iis.net/t/1201043.aspx

我还尝试了链接中的powershell脚本:http://www.hass.de/content/setup-your-iis-ssl-perfect-forward-secrecy-and-tls-12

通过wireshark进行监控时,我发现客户端问候消息正在发送版本TLS 1.2,并且协议显示TLSv1。服务器问候消息在协议字段中显示 tlsv1 ,版本为 TLS 1.0 。

我不知道我是否缺少启用 TLS 1.2 的任何内容。我想我已经完成了所有的注册表项。任何帮助将不胜感激。

上述服务在HASP服务器中运行,并在443端口上运行。

另一个奇怪的事情是,当我在 8443 端口上部署另一个服务时,我正在使用 IIS 7.5 服务器。它仅从 ie 9 开始在 TLS 1.2 上运行。IIS 7.5 服务和 Hasp 服务器服务都在同一台计算机上运行。但通过wireshark它只显示TCP协议。这里没有使用 SSL 协议 https 通信。这怎么可能?

即使我从服务器注册表中禁用 SSLv3 或删除所有条目,也是最后一点。url 在 sslv3 上仍然有效。是否有可能我们需要更新 Windows 服务器上的其他一些文件?

Dra*_*ius 0

同样的问题 - 执行了文档中提到的所有步骤,但没有在 Win 2008 或 Win 2012 上启用 TLS 1.2:/。日志中的一些信息:

Enabled SecurityProtocol`s: SystemDefault
.NET Runtime: 4.8.4069.0
Run Code Online (Sandbox Code Playgroud)
  • 通过禁用所有其他注册表并仅启用 TLS 1.2 来修改注册表
  • 所需更新 (kb3140245)
  • 还尝试安装“MicrosoftEasyFix51044”

使用“WebRequest.CreateHttp(url)” - 仍然失败并出现错误

ERROR - The request was aborted: Could not create SSL/TLS secure channel.
Run Code Online (Sandbox Code Playgroud)

更新的答案:

至少对我们来说,答案是 Win 2008/2012 和我们尝试使用 TLS 1.2 进行通信的 API/服务 -没有相同的密码套件- 因此无法通信。从链接信息看来,只有一种方法可以将 Windows 升级到 2016+。

将密码套件添加到 dotnetcore 3.1 的 HttpClient 的 TLS1.2
https://learn.microsoft.com/en-us/answers/questions/227738/windows-server-2012-r2-tls-12-cipher-suites.html

在我们的例子中,服务正在使用/支持(而 Windows 则没有):

  • TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (ecdh_x25519) - A
  • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (ecdh_x25519) - A
  • TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 (ecdh_x25519) - A