![证书不受单个浏览器信任](https://linux22.com/image/675650/%E8%AF%81%E4%B9%A6%E4%B8%8D%E5%8F%97%E5%8D%95%E4%B8%AA%E6%B5%8F%E8%A7%88%E5%99%A8%E4%BF%A1%E4%BB%BB.png)
我们有一个网站使用来自 thwarte 的签名证书,并且我们在多种检查工具中对该证书给出了 A 级评级。
然而,我们有一位用户抱怨她的浏览器不信任该证书。
我向老板解释说,最有可能的是,用户的浏览器
- 没有完整的 CA 证书列表。
- 或者她的系统和浏览器不是最新的。
- 在某种程度上受到了损害。
我可以肯定地说吗?我之所以强调这一点是因为这是一个大客户,但我可以 100% 地说,该证书已安装、有效并且经过了大范围的测试。
我只是需要进行健全性检查,还有其他我可能遗漏的东西吗?
答案1
浏览器可以以有趣的方式建立指向 CA 的证书链接。
通常,您的服务器将提供站点证书和中间证书,并且大多数浏览器应该能够将该中间证书链接回其信任库中的 CA。
不过,您的问题中的场景并未涵盖一些需要注意的陷阱:
如果从证书到 CA 有多条路径,则浏览器可能会选择不同的路径(如果其缓存中已有路径)(例如,如果访问者使用 Thwate 颁发的证书访问了另一个网站)。在这种情况下,它甚至可以忽略服务器返回的中间证书,因为它认为它有更好的路径。这导致了 Sha-1 到 Sha-256 升级的问题,因为 Sha-1 中间证书被用在了不应该使用的地方,例如,如果 CA 以 Sha-256 格式重新颁发了中间证书而没有创建独立的证书。您需要证书路径的屏幕截图以确保这一点。
我最近发现 Chrome 无法验证代理服务器后面的 EV 证书,因为它无法检查吊销状态(这是 EV 证书所必需的)。这导致地址栏中出现红色 HTTPS 符号,但无法解释原因 :-( 最新版本的 Chrome 在开发人员工具中提供了一个“安全”选项卡,可以解释这一点。请注意,这确实是为什么,但似乎是 Chrome 在代理后面使用时的一个错误。询问这是否只是 Chrome 的问题,如果是,请要求提供开发人员工具->安全选项卡的屏幕截图。https://www.thwate.com讽刺的是,由于这个原因,我的公司电脑上目前显示为红色!
可能是 MITMing 您的连接(在企业环境中也很常见)。这涉及用可能有问题的虚拟本地证书替换您的证书。证书链的屏幕截图也应该有帮助。
这肯定是证书错误吗?而不是由于其他原因(例如不安全的内容)而出现红色 HTTPS 符号?受影响的浏览器和版本可能有助于调试此问题(例如,如果意外通过 http 加载了旧版 IE 的额外库,而您已经有一段时间没有亲自测试过了)。
目前我能想到的就这些。