无法从 github 克隆任何 git 存储库

无法从 github 克隆任何 git 存储库

自从更新到 OS X 10.9.2 以来,我无法从 github.com 克隆任何 git 存储库

如果我运行 git clone 命令,我会收到以下错误:

git clone https://github.com/davedelong/DDMathParser.git
Cloning into 'DDMathParser'...
fatal: unable to access 'https://github.com/davedelong/DDMathParser.git/': SSL certificate problem: Invalid certificate chain

我使用哪个存储库都没关系。我也尝试使用 Github 桌面客户端。

因此我通过 Safari 检查了来自 github.com 的 SSL 证书并得到信息,即 ssl-cert 无效。

以下是我的问题的屏幕截图: https://dl.dropboxusercontent.com/u/215017/github_problem.png

有什么想法吗?我的 SSL 证书坏了吗?

答案1

我最近(2014 年 7 月)遇到了类似的问题,并发现在 OS X(10.9.4)上有一个“DigiCert High Assurance EV Root CA”证书已过期(尽管我还有另一个未过期的证书)。

  1. 打开钥匙串访问
  2. 搜索“DigiCert”的证书
  3. 查看菜单 > 显示过期证书

我找到了两个名为“DigiCert High Assurance EV Root CA”的证书,一个将于 2031 年 11 月到期,另一个已于 2014 年 7 月(几天前)到期。删除已过期的证书解决了我的问题。

希望这可以帮助。

答案2

我通过检查钥匙串(应用程序->实用程序->钥匙串访问.app)解决了我的问题

我发现我的登录钥匙串中有一个自己的 Digicert 证书。看起来这个证书坏了。我已将其移除,之后一切正常。

现在https://github.com在 URL 栏中有一个绿色“按钮”,而不是灰色按钮。

答案3

进入 OSX 中的 Keychain,查找“Digicert High Assurance EV Root CA-1”并将其删除。然后通过 Safari 再次访问 Github。

此后尝试任何 git 操作都应该可以工作。

希望能帮助到你。

答案4

我觉得我应该提一下:我最近不得不更新一些 Linux 机器的 curl、wget 和 openssl,以便使用 TLS-1.2 加密(旧默认值为 TLS 1.0)。启动了 Macbook,我也遇到了“git clone”错误。但 SSL/TLS 在那里没问题。Git 说:“致命:无法访问'':SSL 证书问题:证书链无效”。尝试了上述所有方法,从系统钥匙串中删除了过期的证书等,但 git clone 尝试仍然出现错误消息。进行了一次真正的练习,检查了所有内容。最后,我在 MacOS keychain.app prgm 中注意到,2015 年证书和 2017 年证书都显示为不是已到期。

事实证明,Macbook 系统日期设置为“2015 年 2 月”(当前日期为 2020 年 2 月 20 日!)一旦我重置笔记本电脑的日期,“git clone”和“git pull”就可以正常工作。(只需单击屏幕右上角的日期,选择:“打开日期/时间首选项”,然后选中复选框以将机器日期设置为自动更新。我有一个自签名证书,该证书已于 2017 年或类似的时间过期,我想我可能将日期设置回原点,以便从 Apple 获取与其开发者帐户相关的信息。这是一个非常愚蠢的错误。着陆前,务必确保起落架已放下。

相关内容