Windows 10 v1709 中的 TLS 密码套件
[一些信息与预发布产品相关,在商业发行之前可能发生实质性修改。 Microsoft 对于此处提供的信息不作任何明示或默示的担保。]
只能为支持密码的 TLS 版本协商密码套件。 TLS 握手中始终首选支持最高的 TLS 版本。
密码套件的可用性应采用以下两种方式之一进行控制:
- 配置优先级列表时,将重写默认优先级顺序。 不会在优先级列表中使用密码套件。
- 应用程序通过SCH_USE_STRONG_CRYPTO时允许:当应用程序使用SCH_USE_STRONG_CRYPTO标志时,Microsoft Schannel 提供程序将筛选出已知的弱密码套件。 RC4、DES、export 和 null 密码套件将被筛选掉。
重要
HTTP/2 Web 服务失败,与非 HTTP/2 兼容的密码套件。 若要确保 Web 服务使用 HTTP/2 客户端和浏览器运行,请参阅 如何部署自定义密码套件排序。
FIPS 符合性在添加省略号曲线时变得更加复杂,使此表早期版本中启用了 FIPS 模式的列具有误导性。 例如,使用 NIST 椭圆曲线时,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256等密码套件仅符合 FIPS。 若要了解将在 FIPS 模式下启用省略号曲线和密码套件的组合,请参阅 TLS 实现选择、配置和使用指南的第 3.3.1 部分。
对于 Windows 10 版本 1709,默认使用 Microsoft Schannel 提供程序启用以下密码套件,并按此优先级顺序:
密码套件字符串 | SCH_USE_STRONG_CRYPTO允许 | TLS/SSL 协议版本 |
---|---|---|
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 |
是 |
TLS 1.2 |
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 |
是 |
TLS 1.2 |
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 |
是 |
TLS 1.2 |
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 |
是 |
TLS 1.2 |
TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 |
是 |
TLS 1.2 |
TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 |
是 |
TLS 1.2 |
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 |
是 |
TLS 1.2 |
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 |
是 |
TLS 1.2 |
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 |
是 |
TLS 1.2 |
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 |
是 |
TLS 1.2 |
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA |
是 |
TLS 1.2、TLS 1.1、TLS 1.0 |
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA |
是 |
TLS 1.2、TLS 1.1、TLS 1.0 |
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA |
是 |
TLS 1.2、TLS 1.1、TLS 1.0 |
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA |
是 |
TLS 1.2、TLS 1.1、TLS 1.0 |
TLS_RSA_WITH_AES_256_GCM_SHA384 |
是 |
TLS 1.2 |
TLS_RSA_WITH_AES_128_GCM_SHA256 |
是 |
TLS 1.2 |
TLS_RSA_WITH_AES_256_CBC_SHA256 |
是 |
TLS 1.2 |
TLS_RSA_WITH_AES_128_CBC_SHA256 |
是 |
TLS 1.2 |
TLS_RSA_WITH_AES_256_CBC_SHA |
是 |
TLS 1.2、TLS 1.1、TLS 1.0 |
TLS_RSA_WITH_AES_128_CBC_SHA |
是 |
TLS 1.2、TLS 1.1、TLS 1.0 |
TLS_RSA_WITH_3DES_EDE_CBC_SHA |
是 |
TLS 1.2、TLS 1.1、TLS 1.0 |
TLS_RSA_WITH_NULL_SHA256 仅当应用程序显式请求时使用。 |
否 |
TLS 1.2 |
TLS_RSA_WITH_NULL_SHA 仅当应用程序显式请求时使用。 |
否 |
TLS 1.2、TLS 1.1、TLS 1.0、SSL 3.0 |
Microsoft Schannel 提供程序支持以下密码套件,但默认情况下未启用:
密码套件字符串 | SCH_USE_STRONG_CRYPTO允许 | TLS/SSL 协议版本 |
---|---|---|
TLS_DHE_RSA_WITH_AES_256_CBC_SHA |
是 |
TLS 1.2、TLS 1.1、TLS 1.0 |
TLS_DHE_RSA_WITH_AES_128_CBC_SHA |
是 |
TLS 1.2、TLS 1.1、TLS 1.0 |
TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 |
是 |
TLS 1.2 |
TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 |
是 |
TLS 1.2 |
TLS_DHE_DSS_WITH_AES_256_CBC_SHA |
是 |
TLS 1.2、TLS 1.1、TLS 1.0 |
TLS_DHE_DSS_WITH_AES_128_CBC_SHA |
是 |
TLS 1.2、TLS 1.1、TLS 1.0 |
TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA |
是 |
TLS 1.2、TLS 1.1、TLS 1.0、SSL 3.0 |
TLS_RSA_WITH_RC4_128_SHA |
否 |
TLS 1.2、TLS 1.1、TLS 1.0、SSL 3.0 |
TLS_RSA_WITH_RC4_128_MD5 |
否 |
TLS 1.2、TLS 1.1、TLS 1.0、SSL 3.0 |
TLS_RSA_WITH_DES_CBC_SHA |
否 |
TLS 1.2、TLS 1.1、TLS 1.0、SSL 3.0 |
TLS_DHE_DSS_WITH_DES_CBC_SHA |
否 |
TLS 1.2、TLS 1.1、TLS 1.0、SSL 3.0 |
TLS_DHE_DSS_EXPORT1024_WITH_DES_CBC_SHA |
否 |
TLS 1.2、TLS 1.1、TLS 1.0、SSL 3.0 |
TLS_RSA_WITH_NULL_MD5 仅当应用程序显式请求时使用。 |
否 |
TLS 1.2、TLS 1.1、TLS 1.0、SSL 3.0 |
TLS_RSA_EXPORT1024_WITH_RC4_56_SHA |
否 |
TLS 1.2、TLS 1.1、TLS 1.0、SSL 3.0 |
TLS_RSA_EXPORT_WITH_RC4_40_MD5 |
否 |
TLS 1.2、TLS 1.1、TLS 1.0、SSL 3.0 |
TLS_RSA_EXPORT1024_WITH_DES_CBC_SHA |
否 |
TLS 1.2、TLS 1.1、TLS 1.0、SSL 3.0 |
默认情况下,使用以下 PSK 密码套件并按此优先级顺序使用 Microsoft Schannel 提供程序:
密码套件字符串 | SCH_USE_STRONG_CRYPTO允许 | TLS/SSL 协议版本 |
---|---|---|
TLS_PSK_WITH_AES_256_GCM_SHA384 |
是 |
TLS 1.2 |
TLS_PSK_WITH_AES_128_GCM_SHA256 |
是 |
TLS 1.2 |
TLS_PSK_WITH_AES_256_CBC_SHA384 |
是 |
TLS 1.2 |
TLS_PSK_WITH_AES_128_CBC_SHA256 |
是 |
TLS 1.2 |
TLS_PSK_WITH_NULL_SHA384 |
否 |
TLS 1.2 |
TLS_PSK_WITH_NULL_SHA256 |
否 |
TLS 1.2 |
注意
默认情况下不启用 PSK 密码套件。 应用程序需要使用SCH_USE_PRESHAREDKEY_ONLY请求 PSK。 有关 Schannel 标志的详细信息,请参阅 SCHANNEL_CRED。
若要添加密码套件,请部署组策略或使用 TLS cmdlet:
- 若要使用组策略,请在计算机配置>管理模板>网络 > SSL 配置下配置 SSL 密码套件顺序,设置,其中包含要启用的所有密码套件的优先级列表。
- 若要使用 PowerShell,请参阅 TLS cmdlet。
注意
在Windows 10之前,密码套件字符串追加了椭圆曲线,以确定曲线优先级。 Windows 10支持椭圆曲线优先级顺序设置,因此不需要省略号曲线后缀,并且由新的省略号曲线优先级顺序重写(如果提供)允许组织使用组策略配置具有相同密码套件的不同版本的Windows。