Curl Befehl für https - ( SSL -)
Ich versuche, führen Sie die folgenden CURL-Befehl, aber ich bin immer ein SSL-Zertifikat Fehler:
curl https://example.com:8443/cli/agentCLI -u username:password
Fehler:
curl: (60) SSL-Zertifikat problem, stellen Sie sicher, dass das CA cert is OK. Details:
Fehler:14090086:SSL-Routinen:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
Mehr details hier: http://curl.haxx.se/docs/sslcerts.htmlcurl führt SSL-Zertifikate werden standardmäßig mit einem "bundle"
Certificate Authority (CA) öffentlicher Schlüssel (CA-CERT). Der Standard
bundle namens curl-ca-bundle.crt; Sie können angeben, dass eine andere Datei
mit der --cacert option.
Wenn diese HTTPS-server verwendet ein Zertifikat von einer ZERTIFIZIERUNGSSTELLE signiert vertreten
das bundle, das Zertifikat-Verifizierung wohl gescheitert
problem mit dem Zertifikat (könnte es abgelaufen sein, oder der name könnte
nicht mit der domain-Namen in der URL).
Wenn Sie möchten, schalten Sie " curl-s-Prüfung des Zertifikats verwenden
die -k (oder --insecure) option.
Wie würde ich dieses Problem beheben zu ermöglichen, für die SSL-URLs?
Du musst angemeldet sein, um einen Kommentar abzugeben.
wenn Sie ein selbst signiertes Zertifikat auf dem server, die Sie verwenden können:
aber bewusst sein, dass Sie dann nicht besser als die Verwendung von nicht-SSL-Verbindung zum server, wie Sie Ihre Kommunikation nicht sicher sein mehr, um alle Arten von man-in-the-middle-Angriffen.
Aber mein Rat an Sie, ist der download der
.pem
vom server:/etc/ssl/
wenn Sie Zugriff auf den server,mit:
Ihrem computer, halten Sie nur den Teil zwischen
BEGIN CERTIFICATE
undEND CERTIFICATE
innerhalb der Datei befinden (einschließlich der BEGIN/END-Zeilen) und geben Sie als parameter an die--cacert
option, könnte man es sich auch herunterladen. Dann erhalten Sie zum authentifizieren Sie sich mit Ihrem server jedes mal, wenn Sie eine Verbindung herstellen!Tests auf meinem eigenen selbst-signierte server -, es ist in Ordnung arbeiten:
ein Beispiel, sollten Sie arbeiten:
aber leider ist es nicht.
Ich habe auch versucht zu tun, wie vorgeschlagen,hier:
Welche nicht funktioniert, weil diese site (git.cryptolib.org ich verwende für die Tests nicht selbst signiert, sondern es ist von CACert Kette, welche gelöst werden können durch die Nutzung der CACert-root-Zertifikate, die nach diesem FAQ.
wenige Ressourcen zu Graben:
Aber keine definitive Antwort bislang :-s
curl -k
ist meine erste Antwort und geben Sie unsichere https-Verbindung an den server. Es macht es Arbeit, aber es ist nicht authentifiziert.curl -k
auf eine https-URL ist, aber du bist sinnvoll, um Man in the Middle-Attacken, wenn das Zertifikat übernommen werden und durch eine neue ersetzt, die durch einen zwischengeschalteten router. So ist es besser als HTTP, auch, wenn nicht eine ordnungsgemäß gesicherte HTTPS-Verbindung. So, zwei Optionen sind möglich, Zertifikat-pinning (wie schlage ich in meiner Antwort) oder nutzen Sie letsencrypt.