为什么 OS X 不信任 GitHub 的 SSL 证书?

Tre*_*xon 68 ssl trusted-root-certificates macos

当我在 Chrome 中访问任何 github.com 页面时,我收到一个非常丑陋的错误:

您尝试访问 github.com,但服务器提供了由不受您计算机操作系统信任的实体颁发的证书。这可能意味着服务器已生成自己的安全凭据,Chrome 无法依赖这些凭据获取身份信息,或者攻击者可能试图拦截您的通信。

您无法继续,因为网站运营商已要求提高此域的安全性。

当我访问https://www.digicert.com/ 时也会发生同样的事情(在 Chrome 和 curl 中)。这个奇怪的问题大约在一个半星期前开始。

这是我单击地址栏中的坏锁图标时看到的内容:

GitHub.com 坏了 GitHub.com 证书信息

但是 gist.github.com 工作得很好:

Gist.GitHub.com 有效 Gist.GitHub.com 证书信息

它也不适用于 curl:

它不适用于 curl

在 Firefox 中一切正常。

如何解决我的根 CA 问题?

这是它在 Firefox 中的样子:

在此处输入图片说明 在此处输入图片说明

更新:

我注意到链中的第一个证书在我损坏的 Chrome/Safari 中与我另一台计算机上的 Chrome 不同。

在此处输入图片说明 在此处输入图片说明

(不再有讨厌的红色 X,因为我在 Safari 中信任它。)看看发行人有何不同?我能怎么办?

小智 79

截至 2014 年 7 月 26 日,当一个旧的、显然是准广泛传播的证书过期时,出现了一个新问题。

基于https://www.yesthatallen.com/fixing-an-old-digicert-issue/

在 OSX 上清除过期 DigiCert SSL 证书的说明

 
  1. 通过 Spotlight 启动钥匙串访问
    • ?-空间
    • 输入“钥匙串访问”
    • 点击返回
  2. 确保显示过期的证书;在“查看”菜单中启用“显示过期证书”。
  3. 搜索“数字证书”。
  4. 右键单击带有红色 X 的证书,然后选择“删除 DigiCert High Assurance EV Root CA”
  5. 在重新启动钥匙串访问之前,证书可能不会被删除
  6. 重新启动浏览器
您应该能够再次访问受影响的站点。

 

  • 好吧,我可能删除了太多的数字证书,我到这里 https://www.digicert.com/digicert-root-certificates.htm 并下载了“DigiCert High Assurance EV Root CA”证书。 (9认同)
  • 删除证书没有帮助,我重新启动了计算机。问题仍然存在。任何的想法? (2认同)

eva*_*chi 42

这对我有用:

Keychain.app > Preferences > General > Reset My Default Keychain
Run Code Online (Sandbox Code Playgroud)

更新

一个不太激烈的选择是从登录钥匙串中删除DigiCert证书:无论如何,您应该已经在根钥匙串中拥有一个证书。当两者不匹配时,似乎会发生此错误。

  • 看起来很激烈... (3认同)
  • 我相信删除登录钥匙串中的证书也可能有效。如果我理解正确的话,无论如何 DigiCert 都在根钥匙串中。重置前值得一试。(当然备份等) (3认同)
  • 顺便说一句:类似的问题可能是由于登录钥匙串中的根证书过期而导致的,这会覆盖系统根目录中更新的证书。要显示这些,请在“查看”菜单中启用“显示过期证书”。 (3认同)