680 Stimmen

Nicht in der Lage, "unable to get local issuer certificate" mit git unter Windows und einem selbstsignierten Zertifikat zu lösen

Ich benutze Git unter Windows. Ich habe das msysGit-Paket installiert. Mein Test-Repository hat ein selbst signiertes Zertifikat auf dem Server. Ich kann auf das Repository über HTTP zugreifen und es verwenden, ohne Probleme zu haben. Beim Wechsel zu HTTPS tritt der Fehler auf:

SSL-Zertifikatsproblem: Es konnte kein lokales Aussteller-Zertifikat erhalten werden.

Ich habe das selbst signierte Zertifikat im Vertrauenswürdige Stammzertifizierungsstellen meines Windows 7-Client-Rechners installiert. Ich kann ohne Fehlermeldungen zur HTTPS-Repository-URL im Internet Explorer navigieren.

Dieser Blog-Beitrag von Philip Kelley erklärte, dass cURL den Zertifikatspeicher des Client-Rechners nicht verwendet. Ich habe den Ratschlägen des Blog-Beitrags befolgt, um eine private Kopie von curl-ca-bundle.crt zu erstellen und Git so zu konfigurieren, dass es diese verwendet. Ich bin sicher, dass Git meine Kopie verwendet. Wenn ich die Kopie umbenenne, beschwert sich Git, dass die Datei fehlt.

Ich habe mein Zertifikat, wie im Blog-Beitrag erwähnt, eingefügt, bekomme aber immer noch die Meldung "Es konnte kein lokales Aussteller-Zertifikat erhalten werden".

Ich habe überprüft, dass Git immer noch funktioniert, indem ich ein GitHub-Repository über HTTPS klonen.

Das einzige, was ich sehe, das sich von dem Blog-Beitrag unterscheidet, ist, dass mein Zertifikat tatsächlich das Stammzertifikat ist - es gibt keine Kette, um es zu erreichen. Mein Zertifikat stammt ursprünglich vom Klicken auf den IIS8 IIS-Manager-Link 'Selbstsigniertes Zertifikat erstellen'. Vielleicht macht das ein Zertifikat auf irgendeine Weise anders als das, was cURL erwartet.

Wie kann ich Git/cURL dazu bringen, das selbst signierte Zertifikat zu akzeptieren?

-1voto

Kevin McDowell Punkte 513

Dies könnte einigen helfen, die auf diesen Fehler stoßen. Wenn Sie über eine VPN arbeiten und die Verbindung getrennt wird, können Sie auch diesen Fehler erhalten. Die einfache Lösung besteht darin, Ihre VPN-Verbindung erneut herzustellen.

-2voto

vikas pachisia Punkte 433

Verwenden Sie Github Desktop. Es vermeidet all dieses Durcheinander. Keine Konfiguration erforderlich, keine erneuten Einstellungen, keine SSL-Probleme.

Tatsächlich kann Github Desktop Ihnen dabei helfen, gleichzeitig mit mehreren Unternehmens- und Cloud-Versionen zu arbeiten.

-4voto

Bayram Binbir Punkte 681

Ich habe es versucht zu befolgen und es hat funktioniert

git config --global http.sslVerify false

-7voto

Prashant Paliwal Punkte 590

Verwenden Sie diesen Befehl, bevor Sie composer update/install ausführen:

git config --global http.sslverify false

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