Alles in allem habe ich eine funktionierende Zertifikatskette (mit OpenSSL testbar), aber irgendwie kann ich Git nicht anweisen, diese Zertifikate zu laden.
Ich erhalte den gleichen Fehler "nicht vertrauenswürdige Stammberechtigung" (SEC_E_UNTRUSTED_ROOT), unabhängig davon, ob meine Git-Konfiguration auf eine vorhandene oder eine gefälschte Zertifikatkettendatei verweist.
Weitere Informationen finden Sie im beigefügten Screenshot.
Einstellung, die ich .gitconfig
für gefälschte Dateien verwende:
sslCAInfo = C:/tmp/foobar.crt
oder für echte Dateien, die mit OpenSSL funktionieren:
sslCAInfo = C:/tmp/ca-bundle.crt
Konsolentranskript:
C:\tmp>openssl version
OpenSSL 0.9.8h 28 May 2008
C:\tmp>git --version
git version 2.12.2.windows.2
C:\tmp>git config --list
http.sslverify=true
http.sslcainfo=C:/tmp/ca-bundle.crt
C:\tmp>dir
24.04.2017 13:45 10.875 ca-bundle.crt
c:\tmp>openssl s_client -state -connect https://mygithost:443 -CAfile .\ca-bundle.crt
Verify return code: 0 (ok)
C:\tmp git clone https://mygithost/bitbucket/scm/my.git
Cloning into ...
fatal: unable to access ... : schannel: next InitializeSecurityContext failed: SEC_E_UNTRUSTED_ROOT (0x80090325) - The certificate chain was issued by an authority that is not trusted.
C:\tmp> git -c http.sslverify=false clone https://mygithost/bitbucket/scm/my.git
Cloning into ...
Resoliving deltas: 100%, done.
C:\tmp>git config --list
http.sslverify=true
http.sslcainfo=C:/tmp/foobar.crt
C:\tmp\xxx\git pull
fatal: unable to access ... : schannel: next InitializeSecurityContext failed: SEC_E_UNTRUSTED_ROOT (0x80090325) - The certificate chain was issued by an authority that is not trusted.
set SSL_CERT_FILE=C:\tmp\ca-bundle.crt
,
C:\git config --get-all-- => error: wrong number of arguments