tous, j'ai une chaîne de certificats fonctionnelle (testable avec OpenSSL) mais je ne parviens pas à dire à Git de charger ces certificats.
Je reçois la même erreur « autorité racine non fiable » (SEC_E_UNTRUSTED_ROOT) indépendamment du fait que mes points de configuration git à un fichier existant ou une chaîne de certificats de faux.
Pour plus de détails, veuillez vérifier la capture d'écran ci-jointe.
Paramètre que j'utilise .gitconfig
pour un faux fichier:
sslCAInfo = C:/tmp/foobar.crt
ou, pour un fichier réel qui fonctionne avec OpenSSL:
sslCAInfo = C:/tmp/ca-bundle.crt
Transcription de la console:
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
de dire à openssl où trouver le bundleC:\git config --get-all-- => error: wrong number of arguments
Réponses:
J'ai été frappé par cela juste aujourd'hui après une nouvelle installation, alors voici comment je m'en suis sorti:
À partir de vos journaux (c'est moi qui souligne):
git est configuré pour utiliser schannel (implémentation native de Windows), mais schannel utilise le bundle de certificats Windows et non le bundle cainfo.
Pour passer à openssl pour utiliser un fichier de bundle personnalisé, utilisez ceci:
git config --system http.sslbackend openssl
Et maintenant, git honorera le bundle CA passé dans http.sslcainfo.
Alternativement, comme mon erreur était un problème de suite de chiffrement, vous pouvez être intéressé par les liens suivants:
la source
J'ai eu quelque chose de similaire il y a un an, alors j'espère que je me souviens -
Vous devez avoir toute la chaîne de certificats dans le fichier crt. Vérifiez que vous disposez de tous les certificats intermédiaires entre votre certificat bitbucket et celui racine (inclus).
Vous pouvez voir le format correct pour les ajouter au format pem (ce qui, je crois, est votre cas avec le crt) ici .
Mon certificat a été signé par Comodo lorsque j'ai eu ce problème, leur certificat et l'intermédiaire n'étaient pas dans le ca-bundle par défaut fourni par la plupart des systèmes.
J'espère que ça t'as aidé!
Edit: Maintenant, j'ai remarqué que cela se produit également avec le faux - essayez de vérifier les certificats connus par défaut du système (chaque système en a un). Sous Windows, vous pouvez accéder au composant logiciel enfichable mmc des certificats Windows .
la source