应用 KB3140245 后如何将 TLS 协议设置为默认协议?

应用 KB3140245 后如何将 TLS 协议设置为默认协议?

这是关于在 64 位 Windows 7 计算机上安装 Windows 更新 KB3140245 的说明。

微软不久前发布了此更新,其中“允许用户更改 WinHTTP 的系统范围默认协议,并将 Webio 默认协议硬编码为包含 TLS 1.1 和 TLS 1.2”,解释如下在知识库文章中

将 TLS 设置为默认值可能有助于缓解 SSL 的安全问题。

这个问题是关于知识文章的这一部分:

可以在以下路径添加 DefaultSecureProtocols 注册表项:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet 设置\WinHttp

在基于 x64 的计算机上,还必须将 DefaultSecureProtocols 添加到 Wow6432Node 路径:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Internet 设置\WinHttp

注册表值是 DWORD 位图。可以任意组合使用以下值来默认启用多个协议:

...或者更具体地说,下图中用红色突出显示的说明部分:

Microsoft KB 说明

首先,说明似乎暗示用户可以DefaultSecureProtocols组合输入多个名称的 DWORD 值,但这是不可能的(值的名称在特定键下必须是唯一的)。

其次,知识库文章中显示的(十六进制)值太长(无法按照注册表编辑器中给出的那样输入它们),如下图所示:

Windows 注册表

所以我想问的问题是:

鉴于 DWORD 注册表值的限制,如何组合输入 TLS 1.0、TLS 1.1 和 TLS 1.2 显示的 3 个值?

答案1

结合@Moab 的建议(获取 DEC 值),您可以通过简单调用在注册表中编辑它reg.exe

reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp" /V "DefaultSecureProtocols" /T REG_DWORD /D 2560 /F

将其设置为 0x00000A00。

答案2

以防别人需要这个。

如果需要启用 TLS 1.0、1.1 和 1.2,请将值更改为 A80。

您可以使用 Windows 10 附带的默认计算器计算该值。

  1. 将模式从标准模式更改为程序员模式
  2. 点击 HEX
  3. 80 + 200 + 800 = A80

检查原始问题的第一张图片,查看如果需要启用其他协议可以添加的值。

相关内容