Certificate 证书链PKI中不存在ADCS根CA

Certificate 证书链PKI中不存在ADCS根CA,certificate,client-certificates,pki,Certificate,Client Certificates,Pki,我们有一个Windows2019DC-ADCSPKI。它由根CA和从属CA组成。当从属CA颁发证书时,根CA不在链中。如果打开颁发的证书并转到“证书路径”选项卡,则下级CA证书是链中的最高证书。如果您单击它,它会显示“找不到此证书的颁发者。”作为证书状态 现在我有两个问题 我可以在PKI配置中更改什么,以便根CA始终存在于新颁发的证书中。(我认为这是由于配置错误) 我可以将根CA添加到已颁发的证书中吗 我认为您误解了根CA证书的作用以及证书链的概念 当您的下级CA向最终实体(例如IIS)颁发证

我们有一个Windows2019DC-ADCSPKI。它由根CA和从属CA组成。当从属CA颁发证书时,根CA不在链中。如果打开颁发的证书并转到“证书路径”选项卡,则下级CA证书是链中的最高证书。如果您单击它,它会显示“找不到此证书的颁发者。”作为证书状态

现在我有两个问题

  • 我可以在PKI配置中更改什么,以便根CA始终存在于新颁发的证书中。(我认为这是由于配置错误)
  • 我可以将根CA添加到已颁发的证书中吗

我认为您误解了根CA证书的作用以及证书链的概念

当您的下级CA向最终实体(例如IIS)颁发证书时,颁发的证书与下级CA之间的唯一连接是证书中嵌入了CA的名称(Issuer字段)并且该证书由CA的私钥签名,该签名也作为证书的一部分嵌入。CA证书不会以任何其他方式附加到您的证书

在Windows中双击证书时,将显示该证书的详细信息。当您查看“证书路径”选项卡时,它只是向您显示尽可能多的链。它将查看您证书的颁发者,如果它可以从其证书存储库或从存储库下载子CA证书,它也会列出它。该CA证书还有一个颁发者(在您的情况下是根CA),如果它可以在其证书存储中访问该颁发者,它还将在证书路径中列出它

根CA安装在名为信任锚存储的特定证书存储中。这是您(或您的管理员)安装已验证并决定信任的根证书的地方。这些用于构建证书链。也就是说,如果您的证书链接到此信任锚点存储中的根CA证书,则您是隐式信任您的证书。如果证书未链接到信任锚点存储中的根CA证书,则您不信任该证书。你现在看到的是后者。也就是说,您尚未在信任锚点存储中安装根CA证书

在Windows中,信任锚存储显示为证书MMC的子文件夹,称为受信任的根证书颁发机构

您可以手动将根CA导入此信任锚点存储(右键单击,所有任务导入…),也可以使用Active Directory或组策略将它们分发到所有或某些计算机


一旦在信任锚点存储中安装了根CA,您应该能够查看整个链,并且不会获得证书,因为找不到此证书的颁发者。消息。

谢谢。我确实在我的信任CA计算机存储中缺少根CA。导入后,我可以在链中看到它。我以前见过的案例是根目录在整个路径中都是可见的,即使它不在受信任的存储中,当在证书路径中单击它时,它会告诉我这一点。这就是为什么我认为它在本例中丢失的原因。这可能是因为从属CA证书具有CA颁发者AIA扩展。此扩展指向存储库(LDAP或HTTP)依赖方可以下载缺失的证书进行链构建。也许Windows下载了它,因此可以在链中显示它。但它仍然不信任它,因此您会收到相同的消息。很高兴您将其排序:-)