Windows 无法识别证书链

问题描述 投票:0回答:1

我使用 OpenSSL 创建了一个自签名根 CA 证书(我们称之为

RootCA
)。
然后,我通过使用
InterCA
签署 CSR 来创建一个中间 CA(我们称之为
RootCA
)。
我最终通过使用
EndCert.cer
签署 CSR 创建了最终用户证书 (
InterCA
)。

我将

RootCA
的公共证书(
rootca.cer
,PEM格式)导入到Windows受信任的根证书中。
现在,当我双击
InterCA.cer
时,Windows 将打开它,显示其证书路径(受信任的
RootCA
的子级)并将其确认为“有效证书”(捕获的左侧部分)
好的。一切都如预期般完美。

然后我制作了一个捆绑包

EndCertBundle.cer
作为
EndCert.cer
然后
InterCA.cer
的串联。
当双击这个包时,我天真地期望 Windows 会:
。找出认证路径:
EndCert
(捆绑)<
InterCA.cer
(捆绑)<
RootCA
(可信)
。承认
EndCertBundle.cer
为“有效证书”。
[编辑] 但是如捕获的右侧部分所示,Windows无法识别证书路径:“路径”框中没有父证书(嵌入
InterCA.cer
),并且消息“无法找到证书颁发者” “在“状态”框中[/编辑]

这样操作吗?
当根证书受信任并且中间证书捆绑在最终证书中时,如果它们不允许信任证书链,那么捆绑意味着什么?

[编辑]我尝试将根证书导入 Adobe Acrobat Reader。
在那里,使用

EndCert.cer
签名的 pdf 被识别为有效签名(不导入
InterCA.cer
,既不导入
EndCert.cer
,也不使用捆绑包签名,仅使用
EndCert.cer
签名)

openssl ssl-certificate ca
1个回答
0
投票

当您双击文件时,Windows 仅处理其中的第一个 PEM 对象。 (支持串联 PEM 文件中的多个对象实际上是“依赖于应用程序”的事情之一)。

因此 Windows 只能看到您的最终实体证书。 Windows 尚不知道您的中间证书(它尚未隐式或显式保存到用户或计算机的CertificateAuthorities 证书存储中),并且您的证书不包含颁发机构信息访问扩展,用于识别如何找出谁是颁发 CA 是,或者该 URL 无法解析。所以现在它留下了“我看到一个证书,但找不到它的父级”,并关闭。

如果您有适当的 AIA 扩展,或者将您的颁发者证书明确保存到证书颁发机构存储中,则双击即可。

© www.soinside.com 2019 - 2024. All rights reserved.