web-dev-qa-db-ja.com

curlの修正方法:(60)SSL certificate:Invalid certificate chain

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

どうすれば修正できますか?

42
leafiy

Mac OS X 10.9(Mavericks)でSafariブラウザー(Chrome、Firefox、Opera以外)を使用する場合 https://registry.npmjs.org

Screenshot of Safari showing certificate error

[証明書を表示]ボタンをクリックし、[常に信頼する]チェックボックスをオンにします。次に、続行をクリックし、必要に応じてパスワードを入力します。

Always trust checkbox

これで、CurlはそのURLで正しく動作するはずです。

66
Lewis Buckley

まず、SSLエラーをスローするURLに注意する必要があります。そうは言っても、curlの証明書エラーを抑制するには

curl -k https://insecure.url/content-i-really-really-trust
30
Steen

問題は、使用されなくなった削除する必要がある期限切れの中間証明書です。ここに、問題とその解決方法を説明するDigicertのブログ投稿があります。

https://blog.digicert.com/expired-intermediate-certificate/

Safariとgit pullを使用したコマンドラインの両方で、GithubがSSL経由でロードされないという問題が発生していました。古い期限切れの証明書を削除すると、すべてがうまくいきました。

18
grempe

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-> Reset Safari ...メニュー)。その後、github.comにアクセスして証明書を選択し、「常に信頼する」Thisfeelsが間違っており、履歴と保存されたパスワードを削除しますが、SSLを解決しました検証の問題。ほろ苦い勝利。

8
scarver2

注:この回答は明らかにSSLの目的を無効にしているため、最後の手段として控えめに使用する必要があります。

スクリプトをダウンロードするスクリプトをダウンロードするスクリプトに問題があり、簡単な修正が必要な場合は、~/.curlrcというファイルを作成してください

内容で

--insecure

これにより、デフォルトでcurlはSSL証明書の問題を無視します。

完了したら、必ずファイルを削除してください。

UPDATE

12日後、私はこの答えに対する賛成の通知を受け取り、「うーん、私は自分のアドバイスに従って.curlrc?を削除することを忘れないでください。そのため、この方法に従うことでカールを安全でない状態にするのがいかに簡単かを強調しています。

7
ChristopherJ

この別の原因は、KeyChainのキーの重複です。 「DigiCert High Assurance EV Root CA」が重複している2台のMacでこの問題を確認しました。 1つはログインキーチェーンにあり、もう1つはシステムにありました。ログインキーチェーンから証明書を削除すると、問題が解決しました。

これは、Safariブラウザーとコマンドラインのgitに影響しました。

3
Matt Connolly

Yosemite(10.10.1)に最新のコマンドラインツールアップデート(6.1)をインストールした後、このエラーが表示され始めました。この特定のケースでは、システムを再起動するとエラーが修正されました(更新以来再起動していませんでした)。

私がやったように、同じ問題を抱えている人がこのページに出くわした場合にこれについて言及する。

1
zzamboni

「curl:(60)SSL証明書の問題:ローカル発行者証明書を取得できません」というエラーを排除するために上記のすべてのソリューションを試行した後、OSX 10.9で最終的に機能したソリューションは次のとおりでした。

  1. Curl証明書のPEMファイルの場所「curl-config --ca」を探します-> /usr/local/etc/openssl/cert.pem

  2. フォルダーの場所を使用して、PEMファイル「cd/usr/local/etc/openssl」を識別します

  3. Cert.pemファイル「cp cert.pem cert_pem.bkup」のバックアップを作成します

  4. Curlウェブサイト「Sudo wget http://curl.haxx.se/ca/cacert.pem 」から更新された証明書ファイルをダウンロードします

  5. ダウンロードしたPEMファイルをコピーして、古いPEMファイル「cp cacert.pem cert.pem」を置き換えます

    これは、Ubuntuの同じ問題を修正するために投稿されたソリューションの修正バージョンです。

https://serverfault.com/questions/151157/ubuntu-10-04-curl-how-do-i-fix-update-the-ca-bundle