Das Problem "lokales Ausstellerzertifikat kann nicht abgerufen werden" konnte nicht mit git unter Windows mit selbstsigniertem Zertifikat aufgelöst werden
Ich bin mit git unter Windows. Ich installierte das msysgit-Paket. Mein test-repository hat ein selbst signiertes Zertifikat auf dem server. Ich kann den Zugang und die Nutzung des repository über http ohne Probleme. Übergang zu https gibt die Fehlermeldung "SSL Certificate problem: unable to get local issuer certificate".
Ich habe das selbst signiertes Zertifikat installiert, in die Trusted Root Certification Authorities meinem Windows 7 - client-Computer. Ich kann surfen, um die https-repository-url im Internet Explorer keine Fehlermeldungen.
Diesem blog http://blogs.msdn.com/b/phkelley/archive/2014/01/20/adding-a-corporate-or-self-signed-certificate-authority-to-git-exe-s-store.aspx erklärte, dass curl nicht verwendet der Clientcomputer das Zertifikat-store. Ich folgte der blog-post ' s Ratschläge zum erstellen einer privaten Kopie curl-ca-bundle.crt und konfigurieren Sie git verwenden. Ich bin sicher, dass git ist mit meiner Kopie. Wenn ich benennen Sie die Kopie; git beschwert sich, die Datei fehlt.
Klebte ich in meinem Zertifikat, wie bereits in dem blog-post, ich bekomme immer noch die Meldung "unable to get local issuer certificate".
Ich habe überprüft, dass git die noch arbeiten, die durch das Klonen eines GitHub-Repository via https.
Das einzige, was ich sehe, ist anders als der blog-Beitrag ist, dass mein Zertifikat der Wurzel - es ist keine Kette, es zu erreichen. Mein Zertifikat kam ursprünglich von einem Klick auf den IIS8 IIS-Manager den link "Create Self-Signed Certificate'. Vielleicht macht ein Zertifikat in irgendeiner Weise anders zu, was LOCKE erwartet.
Wie kann ich git/curl zu akzeptieren, die selbst signiertes Zertifikat?
InformationsquelleAutor der Frage RichardHowells | 2014-05-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
Open Git-Bash und den Befehl ausführen, wenn Sie möchten, um vollständig zu deaktivieren Sie die SSL-überprüfung.
Hinweis: Diese Lösung kann man offen für Angriffe wie man-in-the-middle-Angriffe.
Schalten Sie deshalb auf die überprüfung so bald wie möglich wieder:
InformationsquelleAutor der Antwort Samir
Hatte ich dieses Problem auch. In meinem Fall, ich habe versucht, ein post-receive Git-hook-update eine Arbeitskopie, die auf einem server mit jedem Stoß. Habe versucht, Folgen den Anweisungen in dem blog, den Sie verlinkt wird. Hat nicht funktioniert für mich, und überschreiben die Einstellungen auf einer pro-Benutzer-basis scheint nicht zu funktionieren.
Was ich am Ende tun war, deaktivieren Sie die SSL-überprüfung (wie im Artikel erwähnt) Git als ganzes. Nicht die perfekte Lösung, aber es werde arbeiten, bis ich herausfinden kann, eine bessere.
Bearbeitete ich die Git-config-text-Datei (mit meinem Lieblings-Zeilenende-neutral-app wie z.B. Notepad++) befindet sich unter:
In den [http] block, ich Hinzugefügt eine option zum deaktivieren sslVerify. Es sah so aus als ich fertig war:
Das war der trick.
HINWEIS: Dies inaktiviert die SSL-Verifizierung und wird nicht empfohlen, wie eine langfristige Lösung.
InformationsquelleAutor der Antwort kiddailey
Die Antwort auf diese Frage Mit makecert für die Entwicklung von SSL Feste das für mich.
Ich weiß nicht, warum, aber das Zertifikat, erstellt von der einfachen "Create Self-Signed Certificate" - link in der IIS-Manager nicht den trick tun. Ich folgte dem Ansatz in der verlinkten Frage erstellen und installieren eines selbst-signierten CA Root; dann mit, dass zur Frage eines Server-Authentifizierung-Zertifikat für meinen server. Ich installierte beide in IIS.
Bekommt das meine situation die gleiche ist wie die blog-post verwiesen, in der ursprünglichen Frage. Sobald das root-Zertifikat wurde mit kopieren/einfügen in curl-ca-bundle.crt-git/curl-combo zufrieden waren.
InformationsquelleAutor der Antwort RichardHowells
kiddailey ich denke, es war ziemlich nahe, allerdings würde ich nicht deaktivieren der ssl-überprüfung, sondern vielmehr nur die Versorgung der lokalen Zertifikat:
In der Git config-Datei
Oder per Kommandozeile:
InformationsquelleAutor der Antwort Oliver
Ich konfrontiert mit diesem Thema beschäftigen. Und endlich gelöst, indem die erste Führung von In diesem MSDN-Blog
Update
Eigentlich müssen Sie das Zertifikat in git ' s Zertifikat-Datei curl-ca-bundel.cert, die sich in Git\bin-Verzeichnis.
Schritte
Schließlich überprüfen Sie den status. Bitte beachten Sie, dass backup-curl-ca-bundle.crt-Datei vor der Bearbeitung zu bleiben, auf der sicheren Seite.
InformationsquelleAutor der Antwort Nadeem Jamali
Ich habe gerade das gleiche Problem aber mit sourcetree unter windows Dieselben Schritte für den normalen GIT auf Windows-als auch. In den folgenden Schritten konnte ich das Problem lösen.
Diese kann getan werden, mithilfe von chrome.
Navigieren Sie zu server-Adresse.
Klicken Sie auf das Vorhängeschloss-Symbol und die Zertifikate.
Exportieren aller Zertifikats-Kette als base64-kodierte Dateien (PEM-format).
Ausführen von "git config --list".
finden Sie die "http.sslcainfo" Konfiguration dieser zeigt, wo das Zertifikat trust-Datei befindet.
Kopieren Sie alle Zertifikate in der Vertrauenskette Datei, einschließlich "- -BEGIN - - - " und "- -END - - -".
Sollte dies lösen Ihr Problem mit dem selbst-signierten Zertifikaten und der Verwendung von GIT.
Ich habe versucht mit der "http.sslcapath" - Konfiguration, aber das hat nicht funktioniert. Auch wenn ich nicht die ganze Kette in die Zertifikat-Datei, dann würde das auch scheitern. Wenn jemand Hinweise auf diese bitte lassen Sie mich wissen, wie das obige zu wiederholen für eine neue Installation.
Wenn das ist das system, GIT, dann können Sie in den Optionen unter EXTRAS -> Optionen
GIt-tab zu verwenden, das system GIT und diese dann löst sich das Problem in sourcetree als gut.
InformationsquelleAutor der Antwort JamesD
Vermeiden Sie das deaktivieren der ssl-überprüfung ganz oder duplizieren /hacking der gebündelten CA-Zertifikat-Datei von git können Sie den export das host-Zertifikat-Kette in eine Dateiund stellen Sie git verwenden:
Wenn das nicht funktioniert, können Sie deaktivieren Sie die ssl-überprüfung nur für die Gastgeber:
Hinweis : Unterzogen, um mögliche man-in-the-middle-Angriffen, wenn die ssl-Prüfung deaktiviert ist.
InformationsquelleAutor der Antwort zionyx
Im Falle von github-Repositories (oder jeder keiner-self-signed CERT)der Auswahl unten, während der Installation von Git auf windows das Problem behoben.
InformationsquelleAutor der Antwort Jawad Al Shaikh
Ich hatte dieses Problem vor und lösen es anhand der folgenden config.
[http "https://your.domain"]
sslCAInfo=/path/to/your/domain/priviate-certificate
Da git 2.3.1, können Sie
https://your.domain
nach http um anzuzeigen, das folgende Zertifikat ist nur für Sie.InformationsquelleAutor der Antwort Ben P.P. Tung
https://github.com/bagder/ca-bundle
C:\Program Files\Git\bin
undC:\Program Files\Git\mingw64\bin
Dann versuchen Sie so etwas wie:
git clone https://github.com/heroku/node-js-getting-started.git
InformationsquelleAutor der Antwort Alex
Verwenden Sie diesen Befehl vor dem ausführen composer aktualisieren/installieren:
InformationsquelleAutor der Antwort Prashant Paliwal