Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SSL证书-浏览器中的证书路径不同于证书链文件_Ssl_Openssl_Ssl Certificate - Fatal编程技术网

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

SSL证书-浏览器中的证书路径不同于证书链文件,ssl,openssl,ssl-certificate,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=,CN=UTN

我最近从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=,CN=UTN用户优先硬件 验证返回:1

深度=2 C=GB,ST=Greater Manchester,L=Salford,O=COMODO CA Limited,CN=COMODO认证机构 验证返回:1

深度=1 C=GB,ST=大曼彻斯特,L=萨尔福德,O=科摩多CA有限公司,CN=EssentialSL CA 验证返回:1

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

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

  • 科摩多
  • 香精
  • www.mydomain.com
  • 请注意,链中的证书较少(openssl命令的深度为2而不是4),并且根证书是COMODO证书,而不是AddTrust外部CA根证书。有人能解释为什么浏览器显示的路径与openssl命令不同吗


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

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


    OpenSSL s_客户端-showcerts显示整个证书链

    我同意你的看法,只是Firefox做了同样的事情(当我的服务器使用完整的证书链时,只显示了2个深度的证书链),并且它没有作为可信机构的特定Comodo CA证书。我之所以知道这一点,是因为我尝试用comdo和essentialsl CA创建了一个证书链文件,当我使用IE9时,它会正确地进行验证,但Firefox不会。OpenSSL s_client-showcerts仅显示这两个证书,在这种情况下,当我使用-CAfile-Comodo.crt时,它也会正确验证。根据这个说法,Firefox确实包含了Comodo。此外,Firefox中的证书可以使用工具-选项-高级-加密-查看证书进行检查,而Comodo证书就在我的Firefox中。