HTTPS 信任链查询

HTTPS Chain of Trust Query

我的查询是

  1. 终端主机上是否应该同时存在 B 和 C 证书?
  2. 如果只有 B 存在,HTTPS 事务是否有效?
  3. 如果只存在 c,HTTPS 事务是否有效?
  4. 如果 2 和 3 是,它用于验证的逻辑是什么?

提前致谢

  1. 如果“出现在终端主机上”,你的意思是网络服务器应该配置这些证书那么答案是否定的。它应该只配置A和B。没有在 returning C 中指出,因为它已经需要成为要信任的证书的客户端,所以如果字节重新发送它是一种浪费。尽管如此,除此之外,它不会阻止 HTTPS 连接的建立。还是错了,还是别做了。

  2. 我假设你的意思是如果只有 A 和 B 存在?这是配置它的正确方法,然后 HTTPS 将起作用。客户端将看到 A 到 B 的链,然后可以看到 B 是由 C 颁发的(它应该已经安装),因此可以建立一个信任链回到它知道和信任的证书(C)。

  3. 我又假设你指的是 A 和 C?这个 应该 失败,但它通常不会失败,原因有两个:首先浏览器缓存中间证书,因此如果您访问另一个也使用 B 颁发的证书的站点,那么它可能工作。但它会断断续续。其次,每个证书在 AIA 或授权信息访问字段中都有有关颁发者的信息。这允许浏览器联系证书颁发机构 (CA) 并请求丢失的证书 B,以便它可以建立信任的变化。然而,这两种方法都不可靠,因此不应依赖。并非每个浏览器都使用 AIA(Firefox 不使用),并且很少有非浏览器使用它们进行连接会失败。将您的 Web 服务器配置为 return A 和 B。

  4. 将此信息包含在对 2 和 3 的回答中。