作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 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 证书.
解决此问题的两种方法是:
关于c# - 为什么除非我将 Sub CA 证书放入受信任的根证书颁发机构,否则我的证书无效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18089326/
我在 Nginx 中使用 Laravel Forge 部署了一个 Laravel 项目。 此应用程序有几个别名。 我正在尝试为每个别名颁发 ssl 证书,但出现以下错误: ERROR: Challen
我是一名优秀的程序员,十分优秀!