0

好的,我确信这很明显,我在这里遗漏了一些非常基本的东西。我们正在向服务器发送一个 http 请求。为了证明是我们发送请求,我们将证书附加到它。

该证书具有受信任的 CA,因此服务器知道该证书是真实的。

我不明白的是,我们对服务器说,好吧,信任来自 Comodo 的证书。美好的。所以我发送了请求,上面写着我是“A 公司”,这是由 Comodo 认证的。

我们运行服务器的客户只想知道 CA 是谁,以便他们可以信任它。说得通。但肯定需要检查证书中的其他内容以喜欢嵌入的公司名称吗?否则我可以去为我自己的个人公司购买另一个证书,然后从 Comodo 那里得到它,根据服务器,该证书也将是有效的。

请赐教!

谢谢西蒙

4

1 回答 1

0

如果我理解正确,您是在问一个使用网络浏览器访问“A 公司”网站的人如何确定它确实是“A 公司”,而不是“B 公司”颁发的证书的冒名顶替者由同一受信任的 CA (Comodo)。

快速的回答是浏览器确实会检查证书上的名称,而不仅仅是它是否信任颁发 CA。证书中的主题字段是一个专有名称 (DN),如下所示:

CN = www.google.com,O = Google Inc,L = 山景城,S = 加利福尼亚,C = 美国

浏览器可以检查 CN(规范名称)是否与您在浏览器 ( https://www.google.com/ ) 中输入的内容相匹配,以确保您位于正确的站点。有时 CN 不匹配,但证书包含主题备用名称,其中包含匹配的名称。无论哪种情况,证书都包含您尝试加载的网站,因此您可以验证它是否是该网站的正确证书。

此外,还有许多其他已经(或可能)完成的检查:
* 检查当前日期和时间是否在证书的有效期内
* 检查证书是否未被撤销(使用 CRL 或 OCSP)
* 检查签名有效并由受信任
的 CA 签名 * 检查签名 CA 是否实际上是 CA(CA 证书中的密钥使用字段)
* 检查证书本身的使用情况以确保它是服务器证书
* 检查公钥是否强大足够(例如,至少 2048 位 RSA)
* 检查签名算法是否足够强大(例如,SHA256RSA 与 SHA1RSA)
* 检查有效期是否足够短(例如,对于服务器来说,3 年或更短)

于 2014-07-28T19:27:17.840 回答