首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Windows是否需要完整的证书链才能信任证书?

Windows是否需要完整的证书链才能信任证书?
EN

Security用户
提问于 2019-10-24 21:04:36
回答 2查看 1.1K关注 0票数 3

我正在将根CA放在一起来签署多个中间CA,然后使用这些CA对VPN服务器和VPN用户证书进行签名。

当我向用户提供他们的证书时,理想情况下,我只希望给他们他们的密钥/证书和签名中介的证书。这将意味着,如果根CA被破坏,那么如果没有用户直接信任它,那么曝光应该是最小的。

在测试上述设置后,我将中间CA证书导入到一个Windows 10计算机中,然后是用户证书,但是证书上有一个警告:"Windows没有足够的信息来验证此证书。“

我假设导入根CA证书会解决这个问题,但是如果授予颁发中间CA证书的Windows需要完整的链来信任证书,那么为什么Windows需要完整的链呢?

EN

回答 2

Security用户

发布于 2019-10-24 22:56:03

PKI基于CA证书,CA证书是您信任的证书,可以为其他证书提供担保。

您将始终拥有CA的证书副本。我们叫它"bdxCA“吧

当Bob带着一个证书来时,上面写着“嗨,我是鲍勃,这是我的bdxCA签名的证书”,计算机查找他的bdxCA副本,看到它确实签署了证书,并且为了指定的目的信任bdxCA(例如用户身份)。

现在来了中级核证机关。这些证书能够对其他证书进行签名,但您并不直接信任它,但是它的信任来源于“真实”CA。

因此,您可能有bdxCA签名bdx_HR_CA,它本身签署了Bob证书。在这里,鲍勃应该提供他自己的证书作为中间证书(S):“嗨,我是鲍勃,这是我的证书,由bdx_HR_CA签署,你可以看到它是由bdxCA签署的。”你确认情况确实如此,并接受它。

如果Bob没有提供中间证书,它可能被接受,也可能不会被接受。如果接收方没有bdx_HR_CA的副本,他们将无法验证它,因此将拒绝它。但是,中间CA可能是在本地导入的(因此它能够找到它),或者可能爱丽丝已经显示了她自己的证书以及bdx_HR_CA证书,因此后者已经被自动存储。此外,在某些情况下,证书包括一个url,从中可以下载父(中间)证书,并且某些客户端能够帮助下载它们。

所有这些都导致一种情况,即当中间证书丢失时,它们可能会验证,也可能不会验证,这取决于所使用的软件和以前的机器历史记录,所有这些都会导致不一致的问题,因为它们有时只会失败。

然后,CA证书也可以由另一个CA签名。这通常是在新CA不可能被所有客户端信任时完成的。由他们信任的另一个CA签名允许他们信任这个新CA发出的证书(把它当作中间证书)。

在您的示例中,您已经导入了CA证书,但是您可能还没有将其标记为可信的,因此Windows没有到可信CA的验证路径。

最后,由于您的用例是关于VPN服务器和VPN用户证书的,请注意这些证书通常使用自己的CA,而服务器CA是在VPN配置中提供的。在这种情况下,windows是否信任它并不重要,因为VPN客户端只需检查VPN证书是否是它所期望的证书。

票数 1
EN

Security用户

发布于 2019-10-26 15:01:15

这将意味着,如果根CA被破坏,那么如果没有用户直接信任它,那么曝光应该是最小的。

以上所述毫无意义。根CA证书的另一个名称是信任锚点。作为信任的锚点,您必须安装它,以便对任何从属CA以及随后的end实体证书进行信任。如果您期望链从从属CA开始,或者换句话说,您希望从属CA是信任锚,那么根CA的意义是什么?您成功的做法是将证书链缩短一个。如果您妥协您的下属CA,您将遇到同样的设想问题。

如果你担心你的根CA被破坏了(你应该这么做),那么当你不使用你的根CA时,不要把它连接到网络上(例如,使用USB棒来移动文件)。如果您仍然担心,请投资硬件安全模块来存储根CA的私钥。更好的是,投资一个为您的根CA,另一个为您的下属CA。

当我向用户提供他们的证书时,理想情况下,我只希望给他们他们的密钥/证书和签名中介的证书。

这是显示客户端证书的正确方法。您的VPN客户端将两者都发送到服务器,此时服务器将使用它们构建到它在其信任锚存储中的根CA证书的链。如果一切顺利,这将验证客户端。

类似地,服务器将向您展示它的证书(以及任何从属CA证书),您的客户端将使用这些证书在信任-锚存储中构建到任何根CA证书的链。如果根CA未安装,则VPN客户端无法确认您已选择信任它。

这是相互身份验证,正在发生两件事:

  1. 您的服务器将所有证书栏根CA证书发送到客户端,该证书将根据安装在信任锚存储区中的根CA证书进行检查。
  2. 客户端将所有证书栏根CA证书发送到您的服务器,并根据安装在其信任锚存储区中的根CA证书进行检查。
票数 1
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/220170

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档