最近有几个用户抱怨无法从 Firefox 连接到我们网站的 HTTPS 版本(通过 Apache 提供服务)。他们收到的错误是:
安全连接失败
连接到 www.domain.com 时发生错误。对等方的证书具有无效签名。(错误代码:sec_error_bad_signature)
无法显示您尝试查看的页面,因为无法验证所接收数据的真实性。
请联系网站所有者并告知他们此问题。
但是,我们绝大多数用户在这里都没有收到任何错误,一切都正常。我也无法在我这边重现它。
我最初的搜索让我相信这是Firefox 中的一个错误,确实,对于一位用户来说,在 Firefox 升级后,问题就解决了。另一位用户则从昨天开始全新安装 Firefox,并确认他使用的是最新稳定版本(截至撰写本文时为 38.0.1)。
- 我不确定这是否有关联,但我们的 SSL 证书确实使用了 SHA-1,它在 Chrome 中引发了另一个问题。
对于可能造成这种情况的原因有什么想法吗?
答案1
今天我的一个客户端导入了一个同名的无效 CA 证书(内部 CA)。这导致了错误sec_error_bad_signature
。
我从 Firefox 受信任证书存储区中删除了错误的 CA 证书并重新导入了正确的证书。
答案2
cert8.db
按照最初的建议删除文件这里最终,这个问题的修复方法时好时坏。对于一些用户来说,它工作得很顺利;而对于另一些用户来说,它却毫无作用。事实上,对于一些用户来说,即使卸载 Firefox 并删除他们的 FirefoxAPPDATA
文件夹、注册表项等,也无法修复错误。
虽然我无法确定 SHA-1 是否导致了 Firefox 用户的问题,但颁发新的 SSL 证书确实为所有人解决了这个问题。所以至少这是一个解决办法...