我有一个独立的根 CA (RootCA) 和一个企业从属 CA (SubCA)。两者都是 Windows Server 2019。
RootCA 在尝试签署 SubCA 的 CSR 时似乎忽略了 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,尽管文档另有说明?
如果 CSR 将
BasicConstraint
扩展名设置为CA=True
CA,则默认为您在上面看到的内容。您可以通过在签名 CA(根)上运行以下命令来覆盖它:重新启动服务,然后重试。