为什么我的证书无效,除非我将Sub-CA证书放在受信任的根证书颁发机构中

本文关键字:证书 信任 机构 无效 我的 非我 Sub-CA 为什么 | 更新日期: 2023-09-27 18:26:47

我有一个由子CA颁发的证书,证书路径如下:

Root CA
   Sub CA
      My Certificate

为什么当我尝试用X509Chain.Build()验证它时,我总是需要在我的受信任根证书颁发机构文件夹中有Sub CA才能返回true?我已经有了根CA证书,所以既然我信任根,作为信任的网络,它不应该也信任子CA吗?因为现在,它说它无法建立到受信任的根证书颁发机构的链,除非我将Sub-CA证书添加到我的受信任的root证书颁发机构。

为什么我的证书无效,除非我将Sub-CA证书放在受信任的根证书颁发机构中

要详细说明Erik的评论,信任根CA证书意味着您将信任根CA直接签署的内容。

如果中间有一个中间子CA,则其证书由根CA签名,子CA直接对证书签名。

Root CA ---signs/verifies---> Sub CA ---signs/verifies---> End user certificate

正如Erik所说,如果您没有子CA证书,那么就无法将根CA链接到最终用户证书。Root可以验证Sub CA证书,Sub CA可以验证最终用户证书,但由于Root没有对最终用户证书进行签名,因此无法跳过Sub CA并验证最终用户的证书。

解决这一问题的两种方法是:

  • 在您的可信证书中包括Sub-CA证书,或者
  • 确保Sub-CA证书包含在最终用户证书中,这样链可以建立