我的SSL信任链有什么问题?


10

我的网站https://www.snipsalonsoftware.com/的SSL证书在Android上不起作用。在解决此问题时,我已将网站插入Qualys SSL Labs测试工具:

https://www.ssllabs.com/ssltest/analyze.html?d=www.snipsalonsoftware.com&s=50.57.1​​81.104

该报告似乎告诉我我有“连锁问题”。某些东西是“不完整的”。但是我很难准确地理解哪些是不完整的。

在下一节的“证书路径”下,我看到橙色(并且我猜橙色表示“有点不好”)“额外下载”。我不知道这意味着什么或如何解决。我找到了这个线程,但是我无法告诉他们如何将他们所说的变成我的解决方案。

我该怎么办?

Answers:


5

您已将服务器配置为仅将证书发送到浏览器。对于大多数台式机浏览器来说,这很好,因为它们已经包含了大量的中间和根CA详细信息,因此它们可以轻松构建信任链。对于大多数移动浏览器,通常需要提供完整的证书链,即您自己的证书,发行CA的证书以及该证书与最终根CA之间可能存在的任何中间层。仅在这种情况下,移动设备才可能具有根CA详细信息。

对于您特定的证书,您可以阅读此Comodo帮助台文章:知识库:Comodo证书颁发机构>证书> SSL>证书安装


1
谢谢。原来是导致该问题的页面,该部分说:“ SSLCertificateChainFile /etc/ssl/ssl.crt/yourDomainName.ca-bundle ***”
Jason Swett

4

证书可以包含特殊的颁发机构信息访问扩展名(RFC-3280),带有指向颁发者证书的URL。大多数浏览器可以使用AIA扩展名下载缺少的中间证书来完成证书链。但是某些客户端(移动浏览器,OpenSSL)不支持此扩展,因此他们将此类证书报告为不可信。

您可以通过将证书中的所有证书连接到受信任的根证书(以排他性顺序排列)来手动解决证书链不完整的问题,以防止出现此类问题。请注意,受信任的根证书不应存在,因为它已经包含在系统的根证书存储中。

您应该能够从颁发者那里获取中间证书,并自己将它们合并在一起。我已经编写了一个脚本来自动执行该过程,它遍历了AIA扩展以生成正确链接的证书的输出。https://github.com/zakjan/cert-chain-resolver


很棒的答案,这是对我唯一的帮助。我给脚本提供了我的证书(只是我的一个证书,而不是捆绑包),它创建了Web服务器所需的完整证书栈。
Onlynone 2015年

也有一个Web服务:certificatechain.io
rcoup 2015年

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.