通过 TCP 禁用 TLS 1.3

通过 TCP 禁用 TLS 1.3

在创建网站后Internet 信息服务 (IIS) 管理器,在下面路径中的配置文件中,

C:\Windows\System32\inetsrv\config\applicationHost.config

您可以在特定网站部分中像这样修改以下值,

<binding protocol="https" bindingInformation="*:443:" sslFlags = "32" />

Disable TLS 1.3 over TCP这样做的目的是检查中调用的复选框Bindings。虽然配置文件中的这一更改检查了复选框,但由于网站未加载,因此它不会应用设置。但是,如果您手动选中复选框Disable TLS 1.3 over TCP,则它会起作用。这里的问题是什么?

我将使用安装程序创建一个网站来自动化该过程。但是在 Windows Server 2022 中,除非Disable TLS 1.3 over TCP选中复选框,否则不会加载网站。

因此,我正在寻找使用代码检查复选框的方法Disable TLS 1.3 over TCP。但是,我需要知道为什么仅在配置文件中更改不起作用。我甚至重新启动了网站。

答案1

除了您注意到的 sslFlags 属性之外,IIS 似乎还在选中该框时设置了一个注册表项:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters\SslBindingInfo\0.0.0.0:443]
"DefaultFlags"=dword:00000040

如果您的 SSL 绑定使用不同的端口号,则需要调整注册表项以匹配。我还需要重新启动 Windows,然后 IIS 才能注意到注册表项的更改。

关于 LPChip 的评论,我需要禁用 TLS 1.3,因为我的应用程序使用客户端证书身份验证,而基于 Chrome 的浏览器不支持握手后身份验证。

相关内容