496 Stimmen

Curl: (60) SSL-Zertifikatsproblem: lokale Herausgeberzertifikat konnte nicht abgerufen werden

root@sclrdev:/home/sclr/certs/FreshCerts# curl --ftp-ssl --verbose ftp://{abc}/ -u trup:trup --cacert /etc/ssl/certs/ca-certificates.crt
* Kurz davor, zu {abc} auf Port 21 zu verbinden (#0)
* Versuche {abc}...
* Verbunden mit {abc} ({abc}) Port 21 (#0)
< 220-Cerberus FTP Server - Home Edition
< 220-Dies ist die UNLIZENZIERTE Home Edition und darf nur für den Privatgebrauch verwendet werden
< 220-Willkommen beim Cerberus FTP Server
< 220 Erstellt von Cerberus, LLC
> AUTH SSL
< 234 Authentifizierungsmethode akzeptiert
* Zertifikatsüberprüfungsstandorte erfolgreich festgelegt:
*   CAfile: /etc/ssl/certs/ca-certificates.crt
  CApath: /etc/ssl/certs
* SSLv3, TLS-Handshake, Client hello (1):
* SSLv3, TLS-Handshake, Server hello (2):
* SSLv3, TLS-Handshake, CERT (11):
* SSLv3, TLS-Alert, Server hello (2):
* SSL-Zertifikatsproblem: kann lokales Herausgebergutachten nicht erhalten
* Verbindung 0 wird geschlossen
curl: (60) SSL-Zertifikatsproblem: kann lokales Herausgebergutachten nicht erhalten
Weitere Details finden Sie hier: http://curl.haxx.se/docs/sslcerts.html

curl führt standardmäßig eine SSL-Zertifikatsüberprüfung durch, indem ein "Bundle"
 von öffentlichen Schlüsseln der Zertifizierungsstelle (CA) (CA-Zertifikate) verwendet wird. Wenn die Standard-Bundle-Datei nicht ausreicht, können Sie eine alternative Datei angeben
 mithilfe der Option --cacert.
Wenn dieser HTTPS-Server ein von einer in
 dem Bundle vertretenen Zertifizierungsstelle signiertes Zertifikat verwendet, ist die Zertifikatsüberprüfung wahrscheinlich fehlgeschlagen aufgrund eines
 Problems mit dem Zertifikat (es könnte abgelaufen sein oder der Name könnte
 nicht mit dem Domainnamen in der URL übereinstimmen).
Wenn Sie die Überprüfung des Zertifikats durch curl ausschalten möchten, verwenden Sie
 die Option -k (oder --insecure).

11voto

Sandeep Sherpur Punkte 1864
  1. Download https://curl.haxx.se/ca/cacert.pem

  2. Nach dem Download verschieben Sie diese Datei auf Ihren Wamp-Server.

    Zum Beispiel: D:\wamp\bin\php\

  3. Fügen Sie dann die folgende Zeile am Ende der php.ini-Datei hinzu.

curl.cainfo="D:\wamp\bin\php\cacert.pem"
openssl.cafile = "D:\wamp\bin\php\cacert.pem"

  1. Jetzt starten Sie Ihren Wamp-Server neu.

9voto

Giorgos Myrianthous Punkte 29317

Nach cURL-Dokumentation können Sie das Zertifikat auch an den curl-Befehl übergeben:

Holen Sie sich ein CA-Zertifikat, das den Remote-Server verifizieren kann, und verwenden Sie die richtige Option, um dieses CA-Zertifikat bei der Verbindung zu überprüfen. Für libcurl-Entwickler: curl_easy_setopt(curl, CURLOPT_CAPATH, capath);

Mit dem Curl-Befehlszeilentool: --cacert [Datei]


Zum Beispiel:

curl --cacert mycertificate.cer -v https://www.stackoverflow.com

8voto

100MIL Punkte 139

Wenn Sie es nur testen möchten, geben Sie einfach das --insecure zusammen mit dem Curl-Befehl an, um die Validierung zu überspringen.

8voto

Ankit Singh Punkte 826

Versuchen Sie, Curl in Ubuntu neu zu installieren, und aktualisieren Sie meine CA-Zertifikate mit sudo update-ca-certificates --fresh, um die Zertifikate zu aktualisieren

5voto

tim_fl90 Punkte 161

Meins hat funktioniert, indem ich einfach -k zu meinem curl hinzugefügt habe. Kein Grund, die Dinge zu komplizieren.

curl -LOk https://dl.k8s.io/release/v1.20.0/bin/linux/amd64/kubectl

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X