SSL 证书 - 浏览器中的证书路径不同于证书链文件

标签 ssl openssl ssl-certificate

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

depth=4 C = SE,O = AddTrust AB,OU = AddTrust 外部 TTP 网络,CN = AddTrust 外部 CA 根 验证返回:1

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

depth=2 C = GB, ST = Greater Manchester, L = Salford, O = COMODO CA Limited, CN = COMODO Certification Authority 验证返回:1

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

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

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

  1. 科摩多
  2. EssentialSSL CA
  3. www.mydomain.com

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

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

最佳答案

IE9 将 comodo ca 作为其信任链中的受信任机构,因此不显示 comodo ca 的签名者。

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

关于SSL 证书 - 浏览器中的证书路径不同于证书链文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9912037/

相关文章:

apache - SSL脚本问题

postgresql - 启动 postgresql 服务器时出错 - 蛇油键出错

openssl - 在 PKCS#11 中签署证书

google-chrome - 如何处理 Chrome Apps 中的自签名证书?

java.security.cert.CertificateParsingException : invalid DER-encoded certificate data

ssl - Lion 10.7.4 SSL 错误?

python - 连接到 github 时请求包引发 SSLError

openssl - 在证书上,在 subjectAltName 中的电子邮件地址应该是什么类型

ssl - tls_rsa_with_aes_256_cbc_sha 和 tls_rsa_with_aes_128_cbc_sha256 哪个更安全?

c++ - 无法使用 boost 验证我的自签名证书