macos-如何修复curl:(60)SSL证书:无效的证书链
我在Mac OSX 10.9(Mavericks)上运行curl https://npmjs.org/install.sh | sh时遇到以下错误:
install npm@latest
curl: (60) SSL certificate problem: Invalid certificate chain
More details here: http://curl.haxx.se/docs/sslcerts.html
我该如何解决?
8个解决方案
66 votes
在Mac OS X 10.9(Mavericks)上使用Safari浏览器(不是Chrome,Firefox或Opera),请访问[https://registry.npmjs.org]
单击显示证书按钮,然后选中标记为始终信任的复选框。 然后单击继续,并根据需要输入密码。
现在,Curl应该可以正确使用该URL。
Lewis Buckley answered 2020-08-09T04:58:23Z
32 votes
首先,您应该警惕引发SSL错误的网址。 话虽如此,您可以使用以下命令抑制curl中的证书错误
curl -k https://insecure.url/content-i-really-really-trust
Steen answered 2020-08-09T04:58:43Z
18 votes
问题是到期的中间证书不再使用,必须删除。 这是Digicert的博客文章,解释了该问题及其解决方法。
[HTTPS://blog.dig ice RT.com/expired-intermediate-certificate/]
我看到了Github无法在Safari和命令行中通过git pull通过SSL加载的问题。 一旦我删除了旧的过期证书,一切都很好。
grempe answered 2020-08-09T04:59:13Z
8 votes
更新到OS X 10.9.2之后,我开始遇到Homebrew,Textmate,RVM和Github无效的SSL证书问题。
当我启动brew update时,出现以下错误:
fatal: unable to access 'https://github.com/Homebrew/homebrew/': SSL certificate problem: Invalid certificate chain
Error: Failure while executing: git pull -q origin refs/heads/master:refs/remotes/origin/master
通过禁用Git中的SSL验证,我能够缓解某些问题。 从控制台(又称外壳或终端):
git config --global http.sslVerify false
我很推荐这样做,因为它违反了SSL的目的,但这是我发现的唯一可行的建议。
我尝试了rvm osx-ssl-certs update all,内容为Already are up to date.
在Safari中,我访问了[https://github.com]并尝试手动设置证书,但是Safari并未提供信任证书的选项。
最终,我不得不重置Safari(Safari->重置Safari ...菜单)。 然后,随后访问github.com并选择证书,然后“始终信任”这感觉很不对,并删除了历史记录和存储的密码,但是它解决了我的SSL验证问题。 酸甜苦辣的胜利。
scarver2 answered 2020-08-09T05:00:00Z
8 votes
注意:此答案显然违背了SSL的目的,应尽量不要使用。
对于那些在脚本下载过程中遇到问题的脚本,这些脚本可以下载脚本并需要快速修复,请创建一个名为.curlrc的文件
与内容
--insecure
默认情况下,这将导致curl忽略SSL证书问题。
确保完成后删除文件。
更新
12天后,我收到关于此答案的反对的通知,这使我走了“嗯,我是否按照我自己的建议记得删除.curlrc?”,但发现我没有。 因此,这确实突显了遵循此方法使卷发不安全的容易程度。
ChristopherJ answered 2020-08-09T05:00:47Z
3 votes
造成此问题的另一个原因可能是您的KeyChain中的键重复。 我在两台Mac电脑上都看到了这个问题,其中有重复的“ DigiCert高保证EV根CA”。 一个在登录钥匙串中,另一个在系统中。 从登录钥匙串中删除证书解决了该问题。
这影响了Safari浏览器以及命令行上的git。
Matt Connolly answered 2020-08-09T05:01:12Z
1 votes
在优胜美地(10.10.1)上安装了最新的命令行工具更新(6.1)之后,我开始看到此错误。 在这种情况下,重新启动系统可修复错误(自更新以来,我尚未重新启动)。
提及这一点,以防遇到相同问题的任何人都遇到此页面,就像我一样。
zzamboni answered 2020-08-09T05:01:37Z
0 votes
在尝试了上述所有解决方案以消除“卷曲:(60)SSL证书问题:无法获取本地颁发者证书”错误之后,最终在OSX 10.9上对我有用的解决方案是:
找到curl证书PEM文件位置'curl-config --ca'-> /usr/local/etc/openssl/cert.pem
使用文件夹位置来识别PEM文件'cd / usr / local / etc / openssl'
创建cert.pem文件的备份'cp cert.pem cert pem.backup'
从curl网站下载更新的证书文件'sudo wget [http://curl.haxx.se/ca/cacert.pem']
复制下载的PEM文件以替换旧的PEM文件'cp cacert.pem cert.pem'
这是发布的解决方案的修改版本,用于更正以下Ubuntu中的相同问题:
[HTTPS://server fault.com/questions/151157/Ubuntu-10-04-curl-how-do-i-fix-update-他和-擦-bundle]
Pinnacle Systems Group answered 2020-08-09T05:02:28Z