相关文章推荐
腼腆的针织衫  ·  ActiveX ...·  1 月前    · 
机灵的皮蛋  ·  _itoa_s, _itow_s ...·  8 月前    · 
面冷心慈的日光灯  ·  mysql存储过程if ...·  1 年前    · 

适用于:Windows Server 2022、Windows Server 2019、Windows Server 2016、Windows 11、Windows 10

配置 TLS 密码套件顺序

不同的 Windows 版本支持不同的 TLS 密码套件和优先级顺序。 有关不同 Windows 版本中 Microsoft Schannel 提供程序支持的默认顺序,请参阅 TLS/SSL (Schannel SSP) 中的密码套件

还可以使用 CNG 函数修改密码套件列表,有关详细信息,请参阅 确定 Schannel 密码套件的优先级

对 TLS 密码套件顺序的更改将在下次启动时生效。 在重启或关闭之前,现有顺序将生效。

不支持更新默认优先级排序的注册表设置,可能会使用服务更新进行重置。

使用 组策略 配置 TLS 密码套件顺序

可以使用 SSL 密码套件顺序组策略设置来配置默认的 TLS 密码套件顺序。

  • 在组策略管理控制台中,转到 “计算机配置”“ 管理模板 >”“> 网络 > SSL 配置设置 ”。

  • 双击“ SSL 密码套件顺序 ”,然后单击“ 已启用 ”选项。

  • 右键单击“ SSL 密码套件 ”框,然后从弹出菜单中选择“ 全选 ”。

  • 右键单击所选文本,然后从弹出菜单中选择 “复制 ”。

  • 将文本粘贴到文本编辑器(如notepad.exe)并使用新的密码套件顺序列表进行更新。

    TLS 密码套件顺序列表必须采用严格的逗号分隔格式。 每个密码套件字符串的右侧以逗号 (,) 结尾。

    此外,密码套件列表限制为 1,023 个字符。

  • SSL 密码套件 中的列表替换为更新的有序列表。

  • 单击“ 确定 ”或“ 应用 ”。

    使用 MDM 配置 TLS 密码套件顺序

    Windows 10策略 CSP 支持配置 TLS 密码套件。 有关详细信息,请参阅 Cryptography/TLSCipherSuites

    使用 TLS PowerShell Cmdlet 配置 TLS 密码套件顺序

    TLS PowerShell 模块支持获取 TLS 密码套件的有序列表、禁用密码套件以及启用密码套件。 有关详细信息,请参阅 TLS 模块

    配置 TLS ECC 曲线顺序

    从Windows 10 & Windows Server 2016开始,ECC 曲线顺序可以独立于密码套件顺序进行配置。 如果 TLS 密码套件顺序列表具有椭圆曲线后缀,则启用后,它们将被新的椭圆曲线优先级顺序覆盖。 这允许组织使用 组策略 对象以相同的密码套件顺序配置不同版本的 Windows。

    在Windows 10之前,密码套件字符串追加了椭圆曲线,以确定曲线优先级。

    使用 CertUtil 管理 Windows ECC 曲线

    从Windows 10和Windows Server 2016开始,Windows 通过命令行实用工具certutil.exe提供椭圆曲线参数管理。 椭圆曲线参数存储在bcryptprimitives.dll中。 使用 certutil.exe,管理员可以分别在 Windows 中添加和删除曲线参数。 Certutil.exe将曲线参数安全地存储在注册表中。 Windows 可以通过与曲线关联的名称开始使用曲线参数。

    显示已注册的曲线

    使用以下certutil.exe命令显示为当前计算机注册的曲线列表。

    certutil.exe –displayEccCurve
    

    图 1 Certutil.exe显示已注册曲线列表的输出。

    添加新曲线

    组织可以创建和使用由其他受信任实体研究的曲线参数。 想要在 Windows 中使用这些新曲线的管理员必须添加曲线。 使用以下certutil.exe命令将曲线添加到当前计算机:

    Certutil —addEccCurue curveName curveParameters [curveOID] [curveType]
    
  • curveName 参数表示在其中添加曲线参数的曲线的名称。
  • curveParameters 参数表示包含要添加的曲线参数的证书的文件名。
  • curveOid 参数表示证书的文件名,该证书包含要添加的曲线参数的 OID (可选) 。
  • curveType 参数表示 EC 命名曲线注册表中命名曲线的十进制值, (可选) 。
  • 图 2 使用 certutil.exe 添加曲线。

    删除以前添加的曲线

    管理员可以使用以下certutil.exe命令删除以前添加的曲线:

    Certutil.exe –deleteEccCurve curveName
    

    管理员从计算机中删除曲线后,Windows 无法使用命名曲线。

    使用 组策略 管理 Windows ECC 曲线

    组织可以使用 组策略 和 组策略 首选项注册表扩展将曲线参数分发到已加入域的企业计算机。 分布曲线的过程是:

  • 在Windows 10和Windows Server 2016,使用 certutil.exe 将新的已注册命名曲线添加到 Windows。

  • 在同一台计算机中,打开 组策略 管理控制台 (GPMC) ,创建新的 组策略 对象,然后对其进行编辑。

  • 导航到 “计算机配置”|首选项 |Windows 设置 |注册表。 右键单击“ 注册表”。 将鼠标悬停在 “新建 ”上,然后选择“ 收集项”。 重命名集合项以匹配曲线的名称。 你将为 HKEY_LOCAL_MACHINE\CurrentControlSet\Control\Cryptography\ECCParameters下的每个注册表项创建一个注册表集合项。

  • 通过为HKEY_LOCAL_MACHINE\CurrentControlSet\Control\Cryptography\ECCParameters[curveName] 下列出的每个注册表值添加新的注册表项,配置新创建的 组策略 首选项注册表集合。

  • 将包含组策略注册表集合项的 组策略 对象部署到应接收新命名曲线Windows 10和Windows Server 2016计算机。

    图 3 使用组策略首选项分布曲线

    管理 TLS ECC 顺序

    从 Windows 10 和 Windows Server 2016 开始,可以使用 ECC 曲线顺序组策略设置来配置默认的 TLS ECC 曲线顺序。 使用通用 ECC 和此设置,组织可以将经批准用于 TLS) 的受信任命名曲线 (添加到操作系统,然后将这些命名曲线添加到曲线优先级组策略设置,以确保在将来的 TLS 握手中使用它们。 收到策略设置后,新曲线优先级列表在下次重新启动时变为活动状态。

    图 4 使用 组策略 管理 TLS 曲线优先级

  •