Windows Server 2022 中的 TLS 密码套件

只能为支持密码套件的 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 Server 2022,将启用以下密码套件,并默认按此优先级顺序使用 Microsoft Schannel 提供程序:

密码套件字符串 允许SCH_USE_STRONG_CRYPTO TLS/SSL 协议版本
TLS_AES_256_GCM_SHA384

TLS 1.3
TLS_AES_128_GCM_SHA256

TLS 1.3
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_CHACHA20_POLY1305_SHA256

TLS 1.3
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。