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


68

当我访问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:

它不适用于卷曲

在Firefox中一切正常。

如何修复根CA问题?

这是Firefox中的样子:

在此输入图像描述 在此输入图像描述

更新:

我注意到,与我的其他计算机上的Chrome相比,我的破解Chrome / Safari中的第一个证书是不同的。

在此输入图像描述 在此输入图像描述

(再也没有令人讨厌的红色X了,因为我在Safari中信任它。)看看发行人是如何不同的?我能做些什么呢?


* .github.com和github.com之间有什么区别你使用的浏览器是什么?
Ramhound 2013年

铬。它在Chrome中已经破解,但它可以在Firefox中运行。它不适用于卷曲。
Trevor Dixon 2013年

你可以发布证明证书没有错误的Firefox信息吗?
Ramhound 2013年

在底部添加了Firefox图片。
Trevor Dixon

digicert.com本身也存在同样的问题。
Trevor Dixon 2013年

Answers:


42

这对我有用:

Keychain.app > Preferences > General > Reset My Default Keychain

UPDATE

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


2
看起来很激烈...
JLundell 2014年

3
我相信在登录Keychain中删除证书可能也会起作用。如果我理解正确的话,DigiCert无论如何都在根钥匙链中。在重置之前值得尝试。(当然备份等等)
evacchi 2014年

是的,这对我有用。拼图为什么它在登录钥匙串中。经审查,两个版本不相同; 很好奇登录版本的来源。
JLundell 2014年

很高兴知道,我会更新答案。
evacchi 2014年

3
顺便说一句:类似的问题可能是由于在一个登录密钥链中有一个过期的根证书,它会覆盖系统根目录中的更新证书。要显示这些,请在“视图”菜单中启用“显示过期的证书”。
Arjan 2014年

79

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

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

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

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

 


2
删除证书没有帮助,我重新启动了我的电脑。问题仍然存在。任何的想法?
Aviel 2014年

9
好的,我可能删除了太多的digi证书,我去了digicert.com/digicert-root-certificates.htm并下载了“DigiCert High Assurance EV Root CA”证书。
Aviel 2014年

1
@Aviel谢谢,下载并重新安装该证书为我做了。
蒂姆斯科特

1
这对我来说就像一个魅力,并解决了safari的类似问题(如你所料)。我确实需要重启Chrome。
biggusjimmus 2014年

大!这对我有用。谢谢@Allen Hancock :)
Mark Robson


1

我只是尝试了John的解决方案,但没有帮助。虽然在我的情况下,我没有在Class中找到任何“蓝色+”图标。
所以,我所做的就是删除建议的两个缓存文件并重启。
在我的情况下,我正在尝试更新Macports中的应用程序,它使用git连接到github来下载源代码,这就是错误。而且,我在Safari中看到错误,但在Firefox中没有。

在上面我与DigiCert联系后,他们对解决问题非常有帮助。在Keychain Access-> System Roots Category:Certificates

DigiCert高保证EV根CA->信任 - > SSL更改自:未指定值:始终信任GTE Cyber​​Trust Global Root-> Trust-> SSL更改自:未指定值:始终信任


1

对我来说,问题是通过启动Keychain Access实用程序,从Keychain Access菜单中选择Keychain First Aid,然后选择Repair来解决的。


单击修复似乎已清除所有证书,因此它可能是副产品。
格雷

0

一段时间以前有各种SSL证书的问题,发现这适用于90%的这些问题。

删除文件/var/db/crls/crlcache.db和/var/db/crls/ocspcache.db。这些可以使用Finder的Go>找到; 转到文件夹菜单(Cmd + Shift + G)。这会重置系统中已接受证书的缓存。它不会删除它们,只是强制系统在重启时重建缓存。

打开钥匙串访问(/ Applications / Utilities / Keychain Access)。在左侧的“类别”选择器中选择“证书”。在搜索栏中,键入单词Class。查看该列表,找到任何在其图标上带有蓝色+符号的证书。这些是您需要修改的。

选择一个具有蓝色+的,然后按Command + I.单击“信任”列表旁边的显示三角形以显示权限列表。现在,我们需要做的是将此证书设置为使用系统默认值。但是,出于某种原因,当您选择它时,它不会保存。所以你需要做的就是这个。在“Trust”下,显示“Secure Sockets Layer(SSL)”,将下拉菜单更改为“No Value Specified”。然后,关闭窗口。它会询问您的管理员权限。然后,再次打开该证书的信息窗格。再次在“信任”下,现在设置下拉菜单“使用此证书:”时说“使用系统默认值”。然后,您可以关闭信息窗格,然后再次输入密码。对其图标上带有蓝色+的任何证书执行此操作。最多应该只有一两个。

重启系统。

让我知道如果有效,我会很好奇是否有效。

由于总是使用Time Machine备份,因此如果它变得更糟,至少你可以回去!


0

对于那些删除过期证书但仍有问题的人。启动钥匙串访问,转到菜单项,选择“钥匙串急救”,运行检查,运行修复,然后再次运行检查以确定。问题应该消失。


这似乎与Keith Bennett在7月6
Scott


0

我按照艾伦的提示,但它对我不起作用。所以我试试这个。看起来很有效。

  1. 按照艾伦的所有步骤。
  2. 在Safari上打开受影响的站点(例如:github.com)。
  3. 它会告诉你这个警报框。点击“显示证书”。 在此输入图像描述
  4. 在“使用此证书时:”下拉列表中,选择“始终信任”。下面的所有2个下拉菜单将遵循您在此处选择的相同规则。 在此输入图像描述
  5. 打开Chrome,尝试访问受影响的网站(例如:github.com)。

我试过这个。Facebook正常加载。但是,github没有加载CSS。我得到了骨架github。我不知道为什么会这样。但是连接已经建立并且没问题。

伙计们好吗?


0

花了很多时间试图修复这个我下载 - 链接 ;

  • DigiCert Global Root CA.
  • DigiCert高保证EV根CA.
  • DigiCert保证ID根CA.

不知道这个好的做法是否适合我。我正在运行OSX 10.9.5和Chrome 42.0.2311.152(64位)


0

在MAC 10.10.3中为我工作1)打开钥匙串访问2)搜索DigiCert高保证EV根CA 3)双击DigiCert高保证EV根CA 4)在Windows上DigiCert高保证EV根CA选择TRUST 5)用下拉更改与ALWAYS TRUST DONE一起使用此证书时的菜单


0

在线发现如下。我确信这有点像你曾经如何欺骗某人在Windows上按ALT + F4,但它对我和同事有用:

  1. 点击受影响的Chrome框架中的任意位置
  2. 在键盘上,键入:danger

就是这样,页面加载。CSS没有加载,因此您只需“查看源代码”,单击css文件,您将再次看到错误消息。重复上述步骤,将显示CSS。然后刷新Github页面,一切都很好。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.