有效的根 CA 证书不受信任

您所在的位置:网站首页 安装程序检测到此系统中有旧版 有效的根 CA 证书不受信任

有效的根 CA 证书不受信任

2023-07-24 00:31| 来源: 网络整理| 查看: 265

使用 GPO 分发的有效根 CA 证书可能会间歇性地显示为不受信任 项目 07/17/2023

本文为使用 GPO 分发的有效根 CA 证书显示为不受信任的问题提供了解决方法。

适用于:Windows 10 - 所有版本,Windows Server 2012 R2 原始 KB 编号: 4560600

症状

重要

不受信任的根证书颁发机构 (CA) 证书问题可能是由大量 PKI 配置问题引起的。 本文仅说明不受信任的根 CA 证书的可能原因之一。

使用证书和公钥基础结构 (PKI) 的各种应用程序可能会遇到间歇性问题,例如连接错误,每天/每周一两次。 这些问题是由于最终实体证书验证失败而出现的。 受影响的应用程序可能会返回不同的连接错误,但它们都会有常见的不受信任的根证书错误。 下面是此类错误的示例:

十六进制 小数 符号 文本版本 0x800b0109 -2146762487 (CERT_E_UNTRUSTEDROOT) 已处理但已在根证书中终止的证书链

使用 CryptoAPI 系统体系 结构的任何启用 PKI 的应用程序都可能因间歇性失去连接或 PKI/证书相关功能失败而受到影响。 自 2020 年 4 月起,已知受此问题影响的应用程序列表包括,但不一定限于:

Citrix 远程桌面服务 (RDS) Skype Web 浏览器

管理员可以通过检查 CAPI2 日志来识别和排查不受信任的根 CA 证书问题。

将故障排除工作重点放在包含以下签名的 CAPI2 日志中的 生成链/验证链 策略错误上。 例如:

DateTime CAPI2 11 生成链错误 DateTime CAPI2 30 验证链策略错误

结果证书链已处理,但在不受信任提供程序信任的根证书中终止。 [value] 800b0109

原因

如果使用以下 组策略 (GP) 分发根 CA 证书,则可能会出现不受信任的根 CA 证书问题:

计算机配置>Windows 设置>安全设置>公钥策略>受信任的根证书颁发机构

根本原因详细信息

使用 GPO 分发根 CA 证书时,将删除并再次写入其内容 HKLM\SOFTWARE\Policies\Microsoft\SystemCertificates\Root\Certificates 。 此删除是按设计方式进行的,因为 GP 应用注册表的更改方式。

为根 CA 证书保留的 Windows 注册表区域中的更改将通知客户端应用程序的 Crypto API 组件 。 应用程序将开始与注册表更改同步。 同步是使应用程序保持最新状态并了解有效根 CA 证书的最新列表。

在某些情况下,组策略处理需要更长时间。 例如,许多根 CA 证书是通过 GPO 分发的, (与许多 防火墙 或 Applocker 策略) 类似。 在这些情况下,应用程序可能不会收到受信任的根 CA 证书的完整列表。

因此,链接到缺少根 CA 证书的最终实体证书将呈现为不受信任。 各种与证书相关的问题将开始发生。 此问题是间歇性的,可以通过重新启动 GPO 处理或重新启动来暂时解决。

如果根 CA 证书是使用替代方法发布的,则由于上述情况,问题可能不会发生。

解决方法

Microsoft 已意识到此问题,并正在努力改进 Windows 未来版本中的证书和加密 API 体验。

若要解决此问题,请避免使用 GPO 分发根 CA 证书。 它可能包括针对注册表位置 (,例如 HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\SystemCertificates\Root\Certificates) 将根 CA 证书传递给客户端。

将根 CA 证书存储在其他物理的根 CA 证书存储中时,应解决此问题。

用于发布根 CA 证书的替代方法示例

方法 1: 使用命令行工具 certutil 并根存储在文件 rootca.cer 中的 CA 证书:

certutil -addstore root c:\tmp\rootca.cer

注意

此命令只能由本地管理员执行,并且只会影响单个计算机。

方法 2: 启动 certlm.msc (本地计算机) 的证书管理控制台,并在 注册表 物理存储中导入根 CA 证书。

注意

certlm.msc 控制台只能由本地管理员启动。 此外,导入将仅影响单台计算机。

方法 3:使用 GPO 首选项发布根 CA 证书,如组策略首选项中所述

若要发布根 CA 证书,请执行以下步骤:

使用 certutil -addstore root c:\tmp\rootca.cer 命令手动导入计算机上的根证书 (请参阅方法 1) 。

在已导入根证书的计算机上打开 GPMC.msc。

以以下方式编辑要用于部署注册表设置的 GPO:

编辑根证书组策略首选项 > Windows 设置>注册表>路径的计算机配置>。 将根证书添加到 GPO,如以下屏幕截图所示。

将新的 GPO 部署到需要发布根证书的计算机。

通过将根 CA 证书写入位置 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SystemCertificates\ROOT\Certificates 来分发根 CA 证书的任何其他方法、工具或客户端管理解决方案都将有效。

参考 Certutil 工具 证书存储 系统存储位置 组策略首选项 CertControlStore Crypto API


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3