webentwicklung-frage-antwort-db.com.de

So beheben Sie curl: (60) SSL-Zertifikat: Ungültige Zertifikatskette

Bei der Ausführung von curl https://npmjs.org/install.sh | sh unter Mac OSX 10.9 (Mavericks) wird folgende Fehlermeldung angezeigt:

install [email protected]
curl: (60) SSL certificate problem: Invalid certificate chain
More details here: http://curl.haxx.se/docs/sslcerts.html

Wie kann ich das beheben?

37
leafiy

Verwenden des Safari-Browsers (nicht Chrome, Firefox oder Opera) unter Mac OS X 10.9 (Mavericks). Besuchen Sie https://registry.npmjs.org

Screenshot of Safari showing certificate error

Klicken Sie auf die Schaltfläche Zertifikat anzeigen und aktivieren Sie das Kontrollkästchen Immer vertrauen. Klicken Sie anschließend auf Weiter und geben Sie ggf. Ihr Passwort ein.

Always trust checkbox

Curl sollte nun korrekt mit dieser URL funktionieren.

65
Lewis Buckley

Zunächst sollten Sie vorsichtig sein, wenn URLs SSL-Fehler auslösen. Das heißt, Sie können Zertifikatsfehler in curl mit unterdrücken 

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

Das Problem ist ein abgelaufenes Zwischenzertifikat, das nicht mehr verwendet wird und gelöscht werden muss. Hier ist ein Blogbeitrag von Digicert, in dem das Problem erläutert und erläutert wird, wie das Problem gelöst werden kann.

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

Ich sah das Problem, dass Github nicht über SSL in Safari und in der Befehlszeile mit git pull geladen wurde. Nachdem ich das alte abgelaufene Zertifikat gelöscht hatte, war alles in Ordnung.

18
grempe

Nach dem Update auf OS X 10.9.2 begann ich mit ungültigen SSL-Zertifikatsproblemen bei Homebrew, Textmate, RVM und Github.

Als ich einen brew update einleitete, wurde die folgende Fehlermeldung angezeigt:

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

Ich konnte einige Probleme lösen, indem ich einfach die SSL-Überprüfung in Git deaktiviere. Von der Konsole aus (a.k.a. Shell oder Terminal):

git config --global http.sslVerify false

Ich empfehle das nur, weil es den Zweck von SSL missachtet, aber es ist der einzige Rat, den ich gefunden habe, der zur Not funktioniert.

Ich habe rvm osx-ssl-certs update all ausprobiert, der Already are up to date. angibt.

In Safari besuchte ich https://github.com und versuchte, das Zertifikat manuell festzulegen. Safari bot jedoch keine Optionen für das Vertrauen des Zertifikats an.

Letztendlich musste ich Safari zurücksetzen (Menü Safari-> Reset Safari ...). Dann besuchen Sie github.com und wählen Sie das Zertifikat aus, und wählen Sie "Always trust". Dieses fühlt sich falsch an und löscht den Verlauf und die gespeicherten Kennwörter, löste jedoch meine SSL-Überprüfungsprobleme. Ein bittersüßer Sieg.

8
scarver2

HINWEIS: Diese Antwort widerspricht offensichtlich dem Zweck von SSL und sollte sparsam als letzter Ausweg verwendet werden.

Erstellen Sie eine Datei mit dem Namen ~/.curlrc, wenn Sie Probleme mit Skripts haben, die Skripts herunterladen, die Skripts herunterladen und eine schnelle Korrektur wünschen.

Mit dem Inhalt

--insecure

Dies führt dazu, dass curl SSL-Zertifikatprobleme standardmäßig ignoriert.

Stellen Sie sicher, dass Sie die Datei löschen, wenn Sie fertig sind.

UPDATE

12 Tage später wurde ich über eine positive Antwort auf diese Antwort informiert, was mich dazu veranlasste "Hmmm, habe ich meinen eigenen Ratschlag befolgt, denken Sie daran, diesen .curlrc zu löschen?" Und stellte fest, dass ich dies nicht getan hatte. Das unterstreicht wirklich, wie einfach es ist, Ihre Locke mit dieser Methode unsicher zu machen.

6
ChristopherJ

Eine andere Ursache hierfür können doppelte Schlüssel in Ihrem KeyChain sein. Ich habe dieses Problem auf zwei Macs gesehen, auf denen "DigiCert High Assurance EV Root CA" doppelt vorhanden war. Einer befand sich im Login-Schlüsselbund, der andere im System. Durch das Entfernen des Zertifikats aus dem Login-Schlüsselbund wurde das Problem behoben.

Dies betraf sowohl den Safari-Browser als auch die Befehlszeile.

3
Matt Connolly

Nach der Installation des neuesten Befehlszeilentools-Updates (6.1) auf Yosemite (10.10.1) wurde dieser Fehler angezeigt. In diesem Fall wurde der Fehler durch einen Neustart des Systems behoben (ich hatte seit dem Update keinen Neustart durchgeführt).

Erwähnen Sie dies, falls jemand mit dem gleichen Problem auf diese Seite stößt, wie ich es tat.

1
zzamboni

Nach dem Versuch, alle oben genannten Lösungen zu verwenden, um den Fehler "curl: (60) SSL-Zertifikat: lokaler Ausstellerzertifikat nicht abrufen" zu beheben, bestand die Lösung, die unter OSX 10.9 schließlich für mich funktionierte, folgendermaßen:

  1. Suchen Sie den Ort der PEM-Datei für das Curl-Zertifikat 'Curl-config --ca' -> /usr/local/etc/openssl/cert.pem

  2. Verwenden Sie den Ordnerpfad, um die PEM-Datei zu identifizieren. __ 'cd/usr/local/etc/openssl'

  3. Erstellen Sie eine Sicherungskopie der cert.pem-Datei 'Cp cert.pem cert_pem.bkup'

  4. Laden Sie die aktualisierte Zertifikatdatei von der curl-Website herunter 'Sudo wget http://curl.haxx.se/ca/cacert.pem '

  5. Kopieren Sie die heruntergeladene PEM-Datei, um die alte PEM-Datei zu ersetzen. __ 'cp cacert.pem cert.pem'

    Dies ist eine modifizierte Version einer Lösung, die veröffentlicht wurde, um dasselbe Problem in Ubuntu zu beheben, das hier gefunden wurde:

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