【问题标题】:SSL Certificate - Certification Path in browser different from Certificate Chain FileSSL 证书 - 浏览器中的证书路径与证书链文件不同
【发布时间】:2012-04-12 07:29:57
【问题描述】:

我最近从 Comodo 购买了免费的 SSL 证书。它带有一个证书颁发机构捆绑文件,其中包含所有中间证书以及根证书。当我运行命令“openssl s_client -connect www.mydomain.com:443 -showcerts”时,它会显示如下所示的证书路径:

depth=4 C = SE, O = AddTrust AB, OU = AddTrust External TTP Network, CN = AddTrust External CA Root 验证返回:1

depth=3 C = 美国,ST = UT,L = 盐湖城,O = USERTRUST 网络,OU = http://www.usertrust.com,CN = UTN-USERFirst-Hardware 验证返回:1

depth=2 C = GB,ST = 大曼彻斯特,L = 索尔福德,O = COMODO CA Limited,CN = COMODO 认证机构 验证返回:1

深度=1 C = GB,ST = 大曼彻斯特,L = 索尔福德,O = COMODO CA Limited,CN = EssentialSSL CA 验证返回:1

depth=0 OU = 已验证域控制,OU = 免费 SSL,CN = www.mydomain.com 验证返回:1

但是,当我在任何浏览器中访问 www.mydomain.com 并查看服务器提供的证书时,它会显示以下证书路径(取自 IE9 证书窗口):

  1. COMODO
  2. EssentialSSL CA
  3. www.mydomain.com

请注意,链中的证书较少(深度为 2,而 openssl 命令的深度为 4),并且根证书是 COMODO 证书,而不是 AddTrust External CA 根证书。有人能解释一下为什么浏览器显示的路径与 openssl 命令不同吗?

注意,在这两种情况下,服务器提供的证书链都通过了验证(从 openssl 验证结果 0,浏览器中没有警告)。

【问题讨论】:

    标签: ssl openssl ssl-certificate


    【解决方案1】:

    IE9 将 comodo ca 作为其信任链中的可信权威,因此不会显示 comodo ca 的签名者。

    OpenSSL s_client -showcerts 显示整个证书链。

    【讨论】:

    • 我同意你的看法,除了 Firefox 做同样的事情(当我的服务器使用完整链时仅显示 2 深度证书链),并且它没有特定的 Comodo CA 证书作为受信任的权威。我知道这一点是因为我尝试仅使用 Comodo 和 EssentialSSL CA 创建证书链文件,并且当我使用该 IE9 时可以正确验证但 Firefox 没有。 OpenSSL s_client -showcerts 仅显示这两个证书,当我使用 -CAfile Comodo.crt 时,它也会在这种情况下正确验证。
    • 据此mozilla.org/projects/security/certs/included Firefox 确实包含comodo。
    • 也可以使用工具 - 选项 - 高级 - 加密 - 查看证书检查 Firefox 中的证书,我的 Firefox 中有 Comodo 证书。
    猜你喜欢
    • 2015-05-23
    • 2019-12-11
    • 1970-01-01
    • 2018-08-13
    • 2018-11-16
    • 1970-01-01
    • 1970-01-01
    • 2011-10-31
    • 2018-05-04
    相关资源
    最近更新 更多