对于域example.com上的SSL证书,有些testing告诉我这个链是不完整的,而且由于Firefox保留了自己的证书存储,所以在Mozilla( 1,2,3 )上可能会失败。 其他人告诉我很好 ,就像Firefox 36,它告诉我,证书链是好的。
更新:我在Windows XP和MacOS X Snow Leopard上对Opera,Safari,Chrome和IE进行了testing,它们都正常工作。 它只在两个操作系统上的Firefox <36上失败。 我没有访问Linux上的testing,但对于这个网站,不到1%的访问者,大多数可能是机器人。 因此,这回答了原来的问题“这个设置是否会在Mozilla Firefox中显示警告”以及“这个SSL证书链是否被破坏?”。
因此,问题是如何find我需要在ssl.ca文件中放置哪些证书,以便Apache可以保证它们保持Firefox <36不被窒息?
PS:作为一个侧面说明,我用来testing证书的Firefox 36是一个全新的安装。 没有抱怨的机会,因为它在上次访问使用相同链的站点时下载了中间证书 。
如果链条充足取决于客户端的CA商店。 看起来Firefox和谷歌浏览器在2014年底已经包含了“COMODO RSAauthentication机构”证书。对于Internet Explorer,它可能取决于底层操作系统。 CA可能还没有包含在非浏览器所使用的信任库中,例如爬虫,移动应用程序等。
在任何情况下链都不完全正确,从SSLLabs报告中可以看出:
我联系了Comodo,并从中下载了一个bundle.crt文件。 根据这个服务器的设置,我将它重命名为ssl.ca,现在证书通过了所有的testing。 Chain issues = Contains anchor不是一个问题(见下文)
值得注意的是:被广泛认为是最完整的testing现在显示的Chain issues = Contains anchor ,而之前它用来显示Chain issues = None (而其他人表示问题链)。 这实际上是一个非问题( 1,2 ),除了服务器必须发送给客户端的额外1kb。
我的结论
1) SSLlabstesting时,忽略它说Chain issues = Contains anchor或从捆绑文件中删除根证书(见这个评论是这个SSL证书链断了,如何解决? )
2)在其他三个testing站点( 1,2,3 )中至less有一个testing站点上进行辅助testing,以确保SSLlabs说Chain issues = None时您的链路确实正常。