it-swarm.com.de

Wie behebe ich CA-Zertifizierungsprobleme mit Curl in Ubuntu 14.04?

Ich benutze Ubuntu 14.04. Wenn ich Locken verwende, wird folgende Fehlermeldung angezeigt:

curl: (77) error setting certificate verify locations: CAfile: /etc/pki/tls/certs/ca-bundle.crt CApath:

Nach dem, was ich beim googeln erfahre, ist der gesuchte CA-Speicherort für Ubuntu nicht korrekt (und auf meinem Computer nicht vorhanden). /etc/ssl/certs/ca-certificates.crt ist der richtige Speicherort.

Die meisten Lösungen umfassten das Festlegen der Umgebungsvariablen CURL_CA_BUNDLE am richtigen Speicherort oder das Hinzufügen von cacert=/etc/ssl/certs/ca-certificates.crt zur (neu erstellten) .curlrc -Datei in meinem Ausgangsverzeichnis. Ich habe beides ausprobiert und beides nicht vollständig gelöst. curl findet diesen Ort, aber es funktioniert immer noch nicht und gibt den Fehler aus:

curl: (60) SSL certificate problem: self signed certificate in certificate chain

Ich habe auch versucht, curl in Ubuntu zu deinstallieren und erneut zu installieren und meine CA-Zertifikate mit $ Sudo update-ca-certificates --fresh zu aktualisieren, wodurch die Zertifikate aktualisiert wurden, aber Fehler 60 immer noch nicht verschwunden ist.

Ich kenne mich mit CA-Zertifikaten nicht so gut aus und bezweifle, dass ich in der Vergangenheit absichtlich ein selbstsigniertes Zertifikat hinzugefügt habe. Vielleicht aus Versehen, ich weiß es nicht.

Weiß jemand, wie man das behebt? Gibt es eine Möglichkeit, mit all meinen Zertifikaten neu anzufangen? Oder weiß jemand überhaupt, wie ich herausfinde, wo sich dieses selbstsignierte Zertifikat befindet, und wie ich es dann entferne?

PS: Ich möchte das Flag -k (aka --insecure) nicht verwenden. Ich möchte, dass das sicher funktioniert.

13

Nachdem ich in den letzten Tagen nachgeforscht und daran gearbeitet hatte, konnte ich es zum Laufen bringen, und die Antwort war ziemlich einfach.

Ich musste capath=/etc/ssl/certs/ in meiner .curlrc -Datei einstellen.

Dies brachte Curl auf der Kommandozeile zum laufen. Um Curl in R zum Laufen zu bringen (wo ich zum ersten Mal auf das Problem gestoßen bin), musste ich auch cacert=/etc/ssl/certs/ca-certificates.crt in meiner .curlrc -Datei haben, wie zuvor versucht, ansonsten suchte es weiter nach /etc/pki/tls/certs/ca-bundle.crt

Ich habe immer noch keine Ahnung, warum der Fehler bei selbstsignierten Zertifikaten aufgetreten ist.

Aufgrund einiger anderer zufälliger Ergebnisse habe ich auch ein Zertifikat von der Curl-Website heruntergeladen:

Sudo wget http://curl.haxx.se/ca/cacert.pem

in dasselbe certs Verzeichnis. Dass cafile darauf hingewiesen hat, hat auch funktioniert. Am Ende habe ich es auf ca-certificates.crt zurückgesetzt und es funktioniert immer noch.

Ich verstehe nicht genau, warum das funktioniert hat oder was gerade passiert, aber es ist gelöst.

9

cafile key funktioniert bei mir nicht (curl 7.45.0) aber cacert (from --cacert option). Meine . Curlrc Datei:

capath=/etc/ssl/certs/
cacert=/etc/ssl/certs/ca-certificates.crt
8
Duke

Nachdem ich ein paar Mal recherchiert hatte, brachte ich es zum Laufen und die Antwort war ziemlich einfach. Mach es schrittweise

Step:1 Open terminal ctrl+alt+t
Step:2 cd /etc/ssl/certs/
Step:3 Sudo wget http://curl.haxx.se/ca/cacert.pem 

Schritt 3 lädt die pem-Datei im Ordner certs herunter

  Step 4: Check if .curlrc file is available in your home folder or not. 

.curlrc ist eine versteckte Datei. Überprüfen Sie mit Strg + H im Home-Verzeichnis. wenn nicht da dann am terminal typ

Step 5:  nano ~/.curlrc 
Step 6: Now paste the below lines in the open file
        capath=/etc/ssl/certs/
        cacert=/etc/ssl/certs/ca-certificates.crt
Step 7: Now save the file and do your things using curl command.

N.B Hier habe ich den Nano-Editor verwendet, aber Sie können einen beliebigen Editor verwenden.

0
PyDevSRS

Wir hatten das gleiche Problem mit einem unserer C++ - Programme in Ubuntu 14.04.5. Das . curlrc Methode wurde nicht wirksam.

Dies wurde durch das Herunterladen des gelöst ca-certificates.crt zu / etc/ssl/certs/ca-certificates.crt und Erstellen einer symbolischen Verknüpfung ca-bundle.crt unter / etc/pki/tls/certs / Verzeichnis.

Hoffe das hilft!

0
Tamil