【问题标题】:Digital Certificate Signatures数字证书签名
【发布时间】:2013-05-26 03:33:07
【问题描述】:

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

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

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

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

请赐教!

谢谢 西蒙

【问题讨论】:

    标签: certificate digital-signature


    【解决方案1】:

    如果我理解正确,您是在问一个使用网络浏览器访问“A 公司”网站的人如何确定它确实是“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 年或更短)

    【讨论】:

      猜你喜欢
      • 2011-08-17
      • 1970-01-01
      • 2011-09-22
      • 2016-06-12
      • 2014-03-16
      • 2015-06-29
      • 1970-01-01
      • 1970-01-01
      • 2015-04-05
      相关资源
      最近更新 更多