这个 SSL 证书链是否损坏了?如何修复?

这个 SSL 证书链是否损坏了?如何修复?

对于域 example.com 上的 SSL 证书,一些测试告诉我,证书链不完整,并且由于 Firefox 保留了自己的证书存储,因此它可能会在 Mozilla 上失败(123)。其他人告诉我这很好,Firefox 36 也是如此,它告诉我证书链没有问题。

更新:我在 Windows XP 和 MacOS X Snow Leopard 上对 Opera、Safari、Chrome 和 IE 进行了测试,它们都运行良好。只有在这两个操作系统上的 Firefox < 36 上才会失败。我没有权限在 Linux 上进行测试,但对于这个网站来说,访问者不到 1%,而且大多数可能是机器人。所以,这回答了最初的问题“这个设置是否会在 Mozilla Firefox 中发出警告”和“这个 SSL 证书链是否损坏?”。

因此,问题是我如何找出需要将哪些证书放入 ssl.ca 文件中,以便 Apache 可以为它们提供服务,从而防止 Firefox <36 出现故障?

PS:顺便提一下,我用来测试证书的 Firefox 36 是全新安装的。它不可能没有报错,因为它有在上次访问使用相同链条的网站时下载了中间证书

答案1

该链是否足够取决于客户端的 CA 存储。Firefox 和 Google Chrome 似乎已在 2014 年底包含了“COMODO RSA 认证机构”的证书。对于 Internet Explorer,它可能取决于底层操作系统。CA 可能尚未包含在非浏览器(即爬虫、移动应用程序等)使用的信任存储中。

无论如何,这条链条并不完全正确,从以下情况可以看出:SSLLabs 报告

  • 一条信任路径需要浏览器信任新的 CA。在这种情况下,您仍然会发送错误的新 CA,因为受信任的 CA 必须是内置的,而不是包含在链中。
  • 另一条信任路径不完整,即需要额外下载。一些浏览器(如 Google Chrome)会进行此下载,而其他浏览器和非浏览器则希望所有必要的证书都包含在已发送的链中。因此,大多数未内置新 CA 的浏览器和应用程序都无法访问此网站。

答案2

我联系了 Comodo 并从他们那里下载了一个 bundle.crt 文件。我根据此服务器的设置将其重命名为 ssl.ca,现在证书通过了所有测试。通知Chain issues = Contains anchor没有问题(见下文)。

SSL 实验室,被广泛认为是最完整的测试,现在显示Chain issues = Contains anchor,而之前它显示Chain issues = None(而其他测试则显示链条问题)。这真的不是问题(12),除了服务器向客户端发送额外的 1kB 之外。

我的结论

  1. 忽略SSL 实验室测试它所说的位置Chain issues = Contains anchor或从捆绑文件中删除根证书(请参阅下面的评论)。

  2. 始终在其他三个测试站点中的至少一个站点上运行辅助测试(123)以确保你的链条真的没问题SSL 实验室Chain issues = None

相关内容