当我使用 Chrome 访问任何 github.com 页面时,都会出现一个非常难看的错误:
您尝试访问 github.com,但服务器提供的证书由您计算机操作系统不信任的实体颁发。这可能意味着服务器已生成自己的安全凭证,而 Chrome 无法依靠该凭证获取身份信息,或者攻击者可能试图拦截您的通信。
您无法继续,因为网站运营商已要求加强此域名的安全性。
当我访问时(在 Chrome 和 curl 中)也会发生同样的事情https://www.digicert.com/也是。这个奇怪的问题大约在一周半前开始的。
当我单击地址栏中的破锁图标时,我看到的内容如下:
但是 gist.github.com 运行正常:
它也不适用于 curl:
在 Firefox 中一切运行正常。
我该如何修复我的根 CA 问题?
在 Firefox 中它看起来如下:
更新:
我注意到,在我损坏的 Chrome/Safari 中,链中的第一个证书与我其他计算机上的 Chrome 不同。
(不再有讨厌的红色 X,因为我在 Safari 中信任它。)看看发行者有什么不同?我能理解什么?
答案1
这对我有用:
Keychain.app > Preferences > General > Reset My Default Keychain
更新
一个不太激进的选择是删除DigiCert证书来自登录钥匙串:无论如何,您应该已经在根钥匙串中拥有一个。当两者不匹配时,似乎会出现此错误。
答案2
自 2014 年 7 月 26 日以来,出现了一个新问题,当时一个旧的、显然覆盖范围很广的证书到期了。
基于https://www.yesthatallen.com/fixing-an-old-digicert-issue/
在 OSX 上清除过期的 DigiCert SSL 证书的说明
- 通过 Spotlight 启动钥匙串访问
- ⌘-空格
- 输入“钥匙串访问”
- 回车
- 确保显示过期的证书;在“查看”菜单中启用“显示过期的证书”。
- 搜索“Digicert”。
- 右键单击带有红色 X 的证书并选择“删除 DigiCert High Assurance EV Root CA”
- 直到重新启动 Keychain Access 后,证书才可能显示已删除
- 重启浏览器
答案3
这些答案对我都不起作用。相反,我找到了 DigiCert 根证书,下载了它们,并通过在 Finder 中单击它们手动安装它们。
您可以在“检查中间证书存储”中找到它们: https://www.digicert.com/ssl-support/windows-cross-signed-chain.htm
答案4
对我来说,通过启动“钥匙串访问”实用程序,从“钥匙串访问”菜单中选择“钥匙串急救”,然后选择“修复”,问题就解决了。