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

时间:2012-03-28 16:41:21

标签: ssl openssl ssl-certificate

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

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

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

深度= 2 C = GB,ST =大曼彻斯特,L = Salford,O = COMODO CA Limited,CN = COMODO证书颁发机构 验证返回:1

深度= 1 C = GB,ST =大曼彻斯特,L = Salford,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
  4. 请注意,链中的证书较少(深度为2,而openssl命令为4),并且根证书是COMODO证书,而不是AddTrust外部CA根证书。有人可以解释为什么浏览器显示的路径与openssl命令不同吗?

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

1 个答案:

答案 0 :(得分:2)

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

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