Git - la fonction de révocation n'a pas été en mesure de vérifier la révocation du certificat

j'essaie de cloner à partir de Github en utilisant à la fois Github Desktop et git shell mais en continuant à obtenir cette erreur:

Cloning into 'C:UsersJohn DoeworkspaceMyProject'...
fatal: unable to access 'https://github.com/JohnDoe/MyProject.git/': 
schannel: next InitializeSecurityContext failed: Unknown error (0x80092012) - 
The revocation function was unable to check revocation for the certificate.

même problème en tirant un dépôt existant.

j'ai déjà essayé de télécharger les clés SSH trouvées dans ~/.ssh/github-ssh.pub pour Github, mais cela n'aide pas quelque chose.

EDIT: juste vérifié, cela se produira même si j'essaie de cloner un dépôt inexistant.

18
demandé sur Mordechai 2017-08-08 00:46:54

2 réponses

C'est toujours une mauvaise idée de désactiver la vérification du certificat (paramètre http.sslVerifyfalse).

je pense que le problème ici est que, lorsque vous avez installé git, vous avez choisi d'utiliser le Windows Secure Channel bibliothèque au lieu de l' OpenSSL bibliothèque:

Git installation options

comme le souligne @CurtJ.Sampson (merci, Curt!), vous pouvez passer à l'aide de la OpenSSL bibliothèque au lieu de cela, ce qui permettra de résoudre votre problème. Cela peut être fait avec la commande suivante:

git config --global http.sslBackend openssl

Sinon, vous pouvez ré-installer git, en précisant le OpenSSL bibliothèque dans le processus.

Ne pas oublier de désactiver git vérification SSL avec:

git config --global http.sslVerify true

mise à Jour: si vous utilisez des certificats auto-signés ou d'entreprise sur votre propre git serveur, et vous obtenez une erreur quand tente de s'y connecter (comme certificat auto-signé dans la chaîne de certificat, ou problème de certificat SSL: impossible d'obtenir un certificat d'émetteur local), alors la solution est à dire git où trouver CA qui a été utilisé pour signer le certificat de ce site. Vous pouvez le faire avec la commande de configuration suivante:

git config --global http.{your site's URL here}.sslcainfo "{path to your cert file}"

Par exemple, si vous avez un local serveur git https://my.gitserver.com/ et CA qui a signé le certificat du site est en C:\Certs\MyCACert.crt, puis vous devrez entrer:

git config --global http.https://my.gitserver.com/.sslcainfo "C:\Certs\MyCACert.crt"

il s'agit d'une solution plus robuste que l'ajout de votre certificat CA À git's groupés ca-bundle.crt fichier car ce fichier sera écrasé lors de la prochaine mise à jour git.

21
répondu Mike Allen 2018-02-07 18:06:28

Semble qu'un pare-feu bloquant git d'accéder à la liste de révocation. Pour annuler ceci, j'ai paramétré la config:

git config --global http.sslVerify false
-1
répondu Mordechai 2017-09-13 15:57:39