繁体   English   中英

为什么除非将Sub CA证书放入受信任的根证书颁发机构,否则我的证书无效?

[英]Why is my certificate not valid unless I put the Sub CA certificate in the trusted root certificate authorities?

我有一个从Sub CA颁发给我的证书,它具有以下证书路径:

Root CA
   Sub CA
      My Certificate

为什么当我尝试使用X509Chain.Build()进行验证时,我总是需要在我的受信任的根证书颁发机构文件夹中拥有Sub CA,才能使其返回true? 我已经在其中拥有根CA证书,因此由于我信任根(作为信任网络),因此它是否也不应信任子CA? 因为现在,它说它无法建立到受信任的根证书颁发机构的链,除非我将Sub CA证书添加到我的受信任的根证书颁发机构。

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

如果中间有一个中间的子CA,则其证书由根CA签名,并且该子CA直接对您的证书进行签名。

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

如Erik所说,如果您没有Sub CA证书,则无法将根CA链接到最终用户证书。 根可以验证Sub CA证书,而子CA可以验证最终用户证书,但是根没有办法跳过子CA并验证最终用户证书,因为根没有签署最终用户证书。

解决此问题的2种方法是:

  • 在您的受信任证书中包括Sub CA证书,或者
  • 确保最终用户证书中包含Sub CA证书,以便可以建立链。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM