配置用于 PEAP 和 EAP 要求的证书模板

适用范围:Windows Server 2022、Windows Server 2019、Windows Server 2016

所有通过可扩展身份验证协议-传输层安全性 (EAP-TLS)、受保护的可扩展身份验证协议-传输层安全性 (PEAP-TLS) 和 PEAP-Microsoft 质询握手身份验证协议版本 2 (MS- CHAP v2) 用于网络访问身份验证的证书都必须满足 X.509 证书的要求并适用于使用安全套接字层/传输级别安全性 (SSL/TLS) 的连接。 客户端和服务器证书均有额外要求,详细说明如下。

重要

本主题提供有关如何配置证书模板的说明。 若要使用这些说明,必须已将自己的公钥基础结构 (PKI) 与 Active Directory 证书服务 (AD CS) 一起部署。

最小服务器证书要求

使用 PEAP-MS-CHAP v2、PEAP-TLS 或 EAP-TLS 作为身份验证方法,NPS 必须使用满足最低服务器证书要求的服务器证书。

可以使用客户端计算机上的或组策略中的“验证服务器证书”选项将客户端计算机配置为验证服务器证书。

当服务器证书满足以下要求时,客户端计算机会接受服务器的身份验证尝试:

  • 使用者名称包含一个值。 如果将证书颁发到具有空白使用者名称的运行网络策略服务器 (NPS) 的服务器,则无法将此证书用于 NPS 的身份验证。 通过使用者名称配置证书模板的步骤:

    1. 打开证书模板。
    2. 在详细信息窗格中,右键单击要更改的证书模板,然后单击“属性”。
    3. 单击“使用者名称”选项卡,然后单击“用此 Active Directory 信息生成”。
    4. 在“使用者名称格式”中,选择除“无”之外的某个值。
  • 服务器上的计算机证书:

    • 链接到受信任的根证书颁发机构 (CA),
    • 包括 EKU 扩展中的 Server Authentication 用途(Server Authentication 的对象标识符 (OID) 为 1.3.6.1.5.5.7.3.1),
    • 并传递:
      • 由 CryptoAPI 执行的检查,以及
      • 远程访问策略或网络策略中指定的检查
  • 使用所需的加密设置配置服务器证书:

    1. 打开证书模板。
    2. 在详细信息窗格中,右键单击要更改的证书模板,然后单击“属性”。
    3. 单击“加密”选项卡,确保配置以下内容:
      • 提供程序类别:例如密钥存储提供程序
      • 算法名称:例如 RSA
      • 提供程序:例如 Microsoft 软件密钥存储提供程序
      • 最小密钥大小:例如 2048
      • 哈希算法:例如 SHA256
    4. 单击“下一步”。
  • 使用者备用名称 (SubjectAltName) 扩展(如果使用)必须包含服务器的 DNS 名称。 使用注册服务器的域名系统 (DNS) 名称配置证书模板的步骤:

    1. 打开证书模板。
    2. 在详细信息窗格中,右键单击要更改的证书模板,然后单击“属性”。
    3. 单击“使用者名称”选项卡,然后单击“用此 Active Directory 信息生成”。
    4. 在“将这个信息包括在另一个使用者名称中”中,选择“DNS 名称”。

使用 PEAP 和 EAP-TLS 时,NPS 显示计算机证书存储中全部已安装证书的列表,但存在以下例外:

  • 不显示不包括 EKU 扩展中 Server Authentication 用途的证书。

  • 不显示不包含使用者名称的证书。

  • 不显示基于注册表的登录证书和智能卡登录证书。

有关详细信息,请参阅为 802.1X 有线和无线部署部署服务器证书

最低客户端证书要求

使用 EAP-TLS 或者 PEAP-TLS,当证书符合以下要求时,服务器将接受客户端身份验证尝试:

  • 客户端证书是由企业 CA 颁发的,或者是映射到 Active Directory 域服务 (AD DS) 中的用户或计算机帐户的。

  • 客户端上的用户或计算机证书:

    • 链接到受信任的根 CA,
    • 包括 EKU 扩展中的 Client Authentication 用途(Client Authentication 的 OID 为 1.3.6.1.5.5.7.3.2),
    • 并传递:
      • 由 CryptoAPI 执行的检查,
      • 远程访问策略或网络策略中指定的检查,
      • NPS 网络策略中指定的证书对象标识符检查。
  • 802.1X 客户端不使用智能卡登录或密码保护证书的基于注册表的证书。

  • 对于用户证书,证书中的使用者备用名称 (SubjectAltName) 扩展包括用户主体名称 (UPN)。 配置证书模板中的 UPN 的步骤:

    1. 打开证书模板。
    2. 在详细信息窗格中,右键单击要更改的证书模板,然后单击“属性”。
    3. 单击“使用者名称”选项卡,然后单击“用此 Active Directory 信息生成”。
    4. 在“将这个信息包括在另一个使用者名称中”中,选择“用户主体名称(UPN)”。
  • 对于计算机证书,证书中的使用者备用名称 (SubjectAltName) 扩展必须包括客户端的完全限定的域名(FQDN,也称为 DNS 名称)。 配置证书模板中此名称的步骤:

    1. 打开证书模板。
    2. 在详细信息窗格中,右键单击要更改的证书模板,然后单击“属性”。
    3. 单击“使用者名称”选项卡,然后单击“用此 Active Directory 信息生成”。
    4. 在“将这个信息包括在另一个使用者名称中”中,选择“DNS 名称”。

使用 PEAP-TLS 和 EAP-TLS,客户端可以显示证书管理单元中全部已安装证书的列表,但以下情况例外:

  • 无线客户端不显示基于注册表的登录证书和智能卡登录证书。

  • 无线客户端和 VPN 客户端不显示密码保护证书。

  • 不显示不包括 EKU 扩展中 Client Authentication 用途的证书。

有关 NPS 的详细信息,请参阅网络策略服务器 (NPS)

有关 EAP 的详细信息,请参阅网络访问的可扩展身份验证协议 (EAP)

有关排查 NPS 证书问题的详细信息,请参阅将 EAP-TLS 或 PEAP 与 EAP-TLS 结合使用时的证书要求