gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 22:15:16 25 4
gpt4 key购买 nike

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

Root CA
Sub CA
My Certificate

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

最佳答案

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

如果你中间有一个中间 Sub CA,它的证书是由 Root CA 签署的,而 Sub CA 直接签署你的证书。

根 CA ---签名/验证---> 子 CA ---签名/验证---> 最终用户证书

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

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

  • 将子 CA 证书包含在您受信任的证书中或
  • 确保子 CA 证书包含在最终用户证书中,以便链可以成立。

关于c# - 为什么除非我将 Sub CA 证书放入受信任的根证书颁发机构,否则我的证书无效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18089326/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com