简介
本文介绍了在 Windows 嵌入式紧凑型 7 中添加支持传输层安全 (TLS) 1.1 和 TLS 1.2 的更新。
在安装此更新之前,必须安装此产品以前发出的所有更新。
概要
启用 TLS 1.1 和 1.2 TLS
默认情况下, TLS 1.1 和 TLS 1.2 启用基于 Windows 嵌入式紧凑型 7 的设备配置为客户端使用的浏览器设置时。当 Windows 嵌入式协议全被禁用压缩 7-基于设备配置为 web 服务器。
可以使用以下注册表项来启用或禁用 TLS 1.1 和 TLS 1.2。
TLS 1.1
下面的子项控制 TLS 1.1 的使用:
置此变量 \Comm\SecurityProviders\SCHANNEL\Protocols\TLS 1.1
要禁用 TLS 1.1 协议,必须在相应的子项中创建启用DWORD 项,然后将 DWORD 值更改为0。要重新启用该协议,将 DWORD 值更改为1。默认情况下,注册表中不存在此条目。
注意:要启用并协商 TLS 1.1,必须在相应的子项 (客户端、 服务器),创建DisabledByDefault DWORD 项,然后将 DWORD 值更改为0。
TLS 1.2
下面的子项控制 TLS 1.2 的使用:
置此变量 \Comm\SecurityProviders\SCHANNEL\Protocols\TLS 1.2
要禁用 TLS 1.2 协议,必须在相应的子项中创建启用DWORD 项,然后将 DWORD 值更改为0。要重新启用该协议,将 DWORD 值更改为1。默认情况下,注册表中不存在此条目。
注意:要启用并协商 TLS 1.2,必须在相应的子项 (客户端、 服务器),创建DisabledByDefault DWORD 项,然后将 DWORD 值更改为0。
附加注释
-
在协议项下的注册表项中的DisabledByDefault值不会优先于包含 Schannel 凭据数据的 SCHANNEL_CRED 结构中定义的grbitEnabledProtocols值。
-
每个征求意见(RFC) 设计实现不允许 SSL2 并在同时启用 TLS 1.2。
详细信息
请阅读以下部分为 TLS 1.1 和 1.2 有关其他详细信息。
只有支持 TLS 1.2 密码套件
下面的新添加的密码套件仅支持通过 TLS 1.2:
-
TLS_DHE_DSS_WITH_AES_128_CBC_SHA256
-
TLS_DHE_DSS_WITH_AES_256_CBC_SHA256
-
TLS_RSA_WITH_NULL_SHA256
-
TLS_RSA_WITH_AES_128_CBC_SHA256
-
TLS_RSA_WITH_AES_256_CBC_SHA256
-
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
-
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
-
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
-
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
-
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
-
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
-
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
-
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
-
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
-
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
-
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
-
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
-
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
-
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
-
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
-
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
SCHANNEL_CREDhttps://docs.microsoft.com/previous-versions/windows/embedded/ee498356(v=winembedded.70)
grbitEnabledProtocols
(可选)此 DWORD 包含一个位字符串,表示协议具有以下条件:
-
支持向,通过使用此结构,所获取的凭据进行的的连接
下表显示了成员可以包含其他的标志。
值 |
说明 |
SP_PROT_TLS1_2_CLIENT |
传输层安全性 1.2 客户端。 |
SP_PROT_TLS1_2_SERVER |
传输层安全性 1.2 服务器端 |
SP_PROT_TLS1_1_CLIENT |
传输层安全性 1.1 客户端。 |
SP_PROT_TLS1_1_SERVER |
传输层安全性 1.1 服务器端 |
BufferType
这一组位标志指明类型的缓冲区。下表显示了用于 TLS 1.2 其他可用的标志。
标志 |
说明 |
SECBUFFER_ALERT |
在缓冲区中包含一条警告消息。 |
dwProtocol
这将指定用于建立该连接的协议。下表显示该成员的其他有效的常量。
值 |
说明 |
SP_PROT_TLS1_2_CLIENT |
传输层安全性 1.2 客户端。 |
SP_PROT_TLS1_2_SERVER |
传输层安全性 1.2 服务器端 |
SP_PROT_TLS1_1_CLIENT |
传输层安全性 1.1 客户端。 |
SP_PROT_TLS1_1_SERVER |
传输层安全性 1.1 服务器端 |
这是该连接使用的批量加密加密算法标识符 (ALG_ID)。下表显示该成员的其他有效的常量。
值 |
说明 |
CALG_AES_256 |
AES 256 位加密算法 |
CALG_AES_128 |
AES 128 位加密算法 |
CALG_3DES |
3DES 块加密算法 |
结构
该选项用于指定频道连接支持的签名算法.
语法 (c + +)
typedef struct _SecPkgContext_SupportedSignatures {
WORD cSignatureAndHashAlgorithms;
WORD *pSignatureAndHashAlgorithms;
} SecPkgContext_SupportedSignatures, *PSecPkgContext_SupportedSignatures;
成员
-
cSignatureAndHashAlgorithms
这是 pSignatureAndHashAlgorithms 数组中的元素数。 -
pSignatureAndHashAlgorithms
这是一个指定的受支持的算法的值数组。 高位字节可以是以下值之一,指定的签名算法。值
含义
0
匿名的签名算法
1
RSA 签名算法
2
DSA 签名算法
3
ECDSA 签名算法
255
保留
值
含义
0
无
1
MD5 哈希算法
2
SHA1 哈希算法
3
SHA 224 的哈希算法
4
Sha-256 哈希算法
5
SHA 384 哈希算法
6
Sha-512 哈希算法
255
保留
标头
Schannel.h
此函数可以将传输应用程序查询安全包安全上下文的某些特性。
ulAttribute
这是指向包含要检索的上下文属性的缓冲区的指针。下表显示了可能的值。
值 |
说明 |
SECPKG_ATTR_SUPPORTED_SIGNATURES |
此值返回的连接支持的签名类型有关的信息。PBuffer 参数包含一个指针,指向 SecPkgContext_SupportedSignatures 结构。 |
下表显示注册互联网的设置和操作设置下面的注册表子项中:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings
名称 |
类型 |
说明 |
默认值 |
SecureProtocols |
REG_BINARY |
00,02,00,00 (仅支持 TLS 1.1) 00,08,00,00 (仅支持 TLS 1.2) 您还可以为 REG_DWORD"0AA8"来启用所有协议设置此项。 |
A0,0A,00,00 (使除 SSL2 之外的所有协议) |
软件更新信息
下载信息
现可从 Microsoft Windows 嵌入式紧凑型 7 月更新 (3 月 2018)。若要下载此更新,请转到设备合作伙伴中心 (DPC)。
系统必备组件
仅当此产品的所有以前发布的更新都已安装时才支持此更新。
重启要求
应用此更新后,您必须执行干净对整个平台的构建。若要执行此操作,请使用以下方法之一︰
-
在生成菜单中,选择清理解决方案,,然后选择生成解决方案。
-
在生成菜单中,选择重新生成解决方案。
应用此软件更新后无需重新启动计算机。
更新替换信息
此更新不替代任何其他更新。
参考资料
了解 Microsoft 用于描述软件更新的术语。