【发布时间】: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 证书窗口):
- COMODO
- EssentialSSL CA
- www.mydomain.com
请注意,链中的证书较少(深度为 2,而 openssl 命令的深度为 4),并且根证书是 COMODO 证书,而不是 AddTrust External CA 根证书。有人能解释一下为什么浏览器显示的路径与 openssl 命令不同吗?
注意,在这两种情况下,服务器提供的证书链都通过了验证(从 openssl 验证结果 0,浏览器中没有警告)。
【问题讨论】:
标签: ssl openssl ssl-certificate