独立根 CA 在颁发证书时不强制执行 CAPolicy.inf 中的 KeyUsage 设置

独立根 CA 在颁发证书时不强制执行 CAPolicy.inf 中的 KeyUsage 设置

我有一个独立根 CA (RootCA) 和一个企业从属 CA (SubCA)。两者都是 Windows Server 2019。

当尝试签署 SubCA 的 CSR 时,RootCA 似乎忽略了 CAPolicy.inf 文件配置设置,如下面待处理的请求属性视图中所示:

在此处输入图片描述

RootCA(%SystemRoot%\CAPolicy.inf)上的 CAPolicy.inf 如下:

[Version]
Signature= "$Windows NT$"

[Strings]
szOID_KEY_USAGE = "2.5.29.15"

[Extensions]
%szOID_KEY_USAGE% = AwIBhg==
Critical = %szOID_KEY_USAGE%

在 RootCA 安装期间,CAPolicy.inf 用于使根证书的 KeyUsage 扩展变得至关重要。这可以在根证书属性以及 certocm.log 中看到:Opened Policy inf: C:\Windows\CAPolicy.inf

文档状态

CAPolicy.inf 是一个配置文件,它定义了扩展、约束和其他应用于的配置设置根 CA 证书根 CA 颁发的所有证书

那么,为什么尽管文档中有说明,但 RootCA 在颁发(SubCA)证书时会忽略 CAPolicy.inf?

答案1

如果 CSR 已将BasicConstraint扩展名设置为CA=TrueCA,则默认为如上所示。您可以通过在签名 CA(根 CA)上运行以下命令来覆盖此设置:

certutil -setreg policy\EditFlags -EDITF_ADDOLDKEYUSAGE

重新启动服务,然后重试。

相关内容