本文将介绍如何使用 DefaultSecureProtocols 注册表项配置 Windows HTTP 服务 (WinHTTP) 的安全协议。
注册表项 DefaultSecureProtocols 允许我们指定当使用了 WINHTTP_OPTION_SECURE_PROTOCOLS 标志时可以使用哪些 SSL \TLS协议。 该配置使得构建为使用 WinHTTP 默认标志的应用程序能够使用较新的 TLS 协议,或者不需要对应用程序进行任何更新便可阻止较旧的基于 SSL 的协议。
若要添加和设置 DefaultSecureProtocols 注册表项,请执行以下操作:
Get-Item -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp" | New-ItemProperty -Name "DefaultSecureProtocols" -Value "{value}"
Get-Item -Path "HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp" | New-ItemProperty -Name "DefaultSecureProtocols" -Value "{value}"
设置一个无符号长整数值,该值指定哪些安全协议是可接受的。
术语 | 说明 |
---|---|
WINHTTP_FLAG_SECURE_PROTOCOL_ALL | 可以使用安全套接字层 (SSL) 2.0、SSL 3.0 和传输层安全性 (TLS) 1.0 协议。 |
WINHTTP_FLAG_SECURE_PROTOCOL_SSL2 | 可以使用 SSL 2.0 协议。 |
WINHTTP_FLAG_SECURE_PROTOCOL_SSL3 | 可以使用 SSL 3.0 协议。 |
WINHTTP_FLAG_SECURE_PROTOCOL_TLS1 | 可以使用 TLS 1.0 协议。 |
WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_1 | 可以使用 TLS 1.1 协议。 |
WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_2 | 可以使用 TLS 1.2 协议。 |
WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_3 | 可以使用 TLS 1.3 协议。 |
注册表值为 DWORD 位图。 要使用的值是通过添加与所需协议对应的值。
DefaultSecureProtocols 值 | 协议已启用 |
---|---|
0x00000008 | 默认启用 SSL 2.0 |
0x00000020 | 默认启用 SSL 3.0 |
0x00000080 | 默认启用 TLS 1.0 |
0x00000200 | 默认启用 TLS 1.1 |
0x00000800 | 默认启用 TLS 1.2 |