配置网络策略服务器证书吊销列表检查注册表设置

使用网络策略服务器 (NPS) 对网络访问强制实施基于证书的身份验证时,必须配置证书吊销列表 (CRL),确保只接受有效的证书。 CRL 用于检查证书颁发机构 (CA) 是否在数字证书的计划到期日期之前吊销了该证书。 在 NPS 中,配置在身份验证过程中检查 CRL,以确保仅使用有效的证书进行网络访问。 配置 NPS CRL 是实现安全网络访问基础结构的重要步骤。

Prerequisites

要将设备设置为 NPS 服务器,需要“网络策略和访问服务”角色。 有关详细信息,请参阅安装或卸载角色、角色服务或功能

了解 NPS CRL 注册表设置

NPS 的注册表设置可以在以下注册表路径中配置,并输入为 DWORD 条目,值为 0 表示 已禁用,为 1 表示 已启用

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RasMan\PPP\EAP\13\

默认情况下,以下键设置为 0

Name Description
IgnoreNoRevocationCheck 禁用后,除非服务器完成客户端证书链(包括根证书)的吊销检查,并验证是否已吊销证书,否则 EAP-TLS 客户端无法连接。

启用后,NPS 允许 EAP-TLS 客户端连接,即使 NPS 不执行或无法完成客户端证书链(不包括根证书)的吊销检查。

当证书不包含 CRL 分发点(例如非 Microsoft CA 颁发的证书)时,可以使用此项对客户端进行身份验证。
IgnoreRevocationOffline 禁用后,NPS 不允许客户端连接,除非它可以完成证书链的吊销检查,并验证是否未吊销任何证书。 当 NPS 无法连接到存储吊销列表的服务器时,证书无法进行吊销检查,且身份验证会失败。

启用后,NPS 允许 EAP-TLS 客户端进行连接,即使存储 CRL 的服务器在网络上不可用,也可防止由于网络条件差而导致证书验证失败。
NoRevocationCheck 禁用后,将为 NPS CRL 启用证书吊销检查。 当客户端向 NPS 服务器提供证书时,服务器会检查查看证书是否已由发证 CA 吊销,然后才允许客户端连接到网络。 如果证书已被吊销,客户端将被拒绝访问。

启用后,NPS 会阻止 EAP-TLS 对客户端证书执行吊销检查。 吊销检查验证客户端证书及其证书链中的证书没有被吊销。
NoRootRevocationCheck 禁用后,此条目只会消除客户端根 CA 证书的吊销检查。 对客户端证书链的其余证书仍然执行吊销检查。

启用后,NPS 会阻止 EAP-TLS 对客户端的根 CA 证书执行吊销检查。

当证书不包含 CRL 分发点时,此项会对客户端进行身份验证。 另外,当证书吊销列表脱机或过期时,此项还可以阻止发生与证书相关的延迟。

编辑 NPS CRL 注册表设置

Warning

错误编辑注册表会严重损坏您的系统。 在更改注册表之前,应备份计算机上任何有价值的数据。

可使用注册表编辑器 (regedit.exe)、命令提示符或 PowerShell 编辑注册表。 以下示例介绍了启用 NoRevocationCheck 注册表设置,并且相同的步骤适用于启用或禁用相关的 CRL 设置。

以下步骤允许在设备上启用 NoRevocationCheck

  1. 在桌面上,选择“ 开始”,键入 注册表编辑器,右键单击 “注册表编辑器 ”,然后选择“ 以管理员身份运行”。
  2. 注册表编辑器中,导航到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RasMan\PPP\EAP\13
  3. 在顶部窗格中,选择 “编辑>>DWORD> 类型 NoRevocationCheck”,然后按 Enter
  4. 双击新注册表项,将值更改为 1,然后选择“ 确定”。

若要禁用此项,请将值从 1 更改为 0

要在 NPS 服务器上手动更新 CRL,请在命令提示符或 PowerShell 中运行以下命令:

certutil -urlcache * delete
certutil -setreg chain\ChainCacheResyncFiletime @now