如何验证我的浏览器/操作系统的顶级证书?

信息安全 证书 证书颁发机构
2021-08-13 18:35:05

我对证书颁发机构生态系统的工作原理有基本的了解。我知道当我连接到一个站点时,他们为我提供了一个证书,我的计算机会根据本地存储的受信任的权威来验证证书的签名。而且我可以遵循我的计算机信任的权威链,验证每个证书,直到我到达我的顶级受信任 CA 之一。在 CA 生态系统之外,有什么方法可以验证我的顶级 CA 是否正确?我可以去某个地方拜访他们吗?

2个回答

有几种不同的方法:

  1. 您可以与Common CA DB进行交叉检查Mozilla 运营该站点,但所有主要的 Root 证书存储供应商(Mozilla、Microsoft、Google、Cisco 和 Apple)都向公共数据库提供数据。

  2. 所有主要的根证书存储维护者都会在各自的网站上发布他们在根存储中拥有的所有根证书:MozillaMicrosoftAppleAndroid

  3. 所有公共根 CA 发布他们在自己的网站上管理的所有公共根证书,这是CA/B 基线要求的要求,所有想要为网站颁发证书的公共 CA 都必须遵守作为其包含标准的一部分在根商店中。一些例子:DigiCertComodoGlobalSignLet's Encrypt

这些站点要么发布证书的指纹列表,要么发布根证书本身。

在大多数浏览器中,您应该能够查看站点的证书,并按照链向上到根证书。例如,在 Firefox for security.stackexchange.com 中,您可以按照以下步骤,看到该链的根证书是 DST Root X3。

1)  Navigate to security.stackexchange.com, and click the green padlock in the address bar
2)  Click the right arrow, next to 'Secure Connection'.
3)  Click 'More information'
4)  Click 'View Certificate'
5)  Click 'Details'

然后,查看证书层次结构。您应该看到以下链:

DST Root CA X3
  + Let's Encrypt Authority X3
    + *.stackexchange.com