git - unable - ssl certificate problem: self signed certificate in certificate chain




Git-The revocation function was unable to check revocation for the certificate (2)

It's always a bad idea to disable certificate verification (setting http.sslVerify to false).

I think the problem here is that, when you installed git, you opted to use the Windows Secure Channel library instead of the OpenSSL library:

As pointed out by @CurtJ.Sampson (thanks, Curt!), you can switch to using the OpenSSL library instead, which will fix your issue. This can be done with the following command:

git config --global http.sslBackend openssl

Alternatively, you can re-install git, specifying the OpenSSL library in the process.

Don't forget to turn git SSL verification back on with:

git config --global http.sslVerify true

Update: If you're using self-signed or corporate certificates on your own git server, and you get an error when attempting to connect to it (such as self signed certificate in certificate chain, or SSL certificate problem: unable to get local issuer certificate), then the solution is to tell git where to find the CA that was used to sign that site's certificate. You can do this with the following configuration command:

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

For example, if you have a local git server at https://my.gitserver.com/ and the CA that signed the site's certificate is in C:\Certs\MyCACert.crt, then you'll need to enter:

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

This is a more robust solution compared to adding your CA certificate to git's bundled ca-bundle.crt file, since that file will be overwritten when you next update git.

I'm trying to clone from Github by using both Github Desktop and the git shell but keep on getting this error:

Cloning into 'C:\Users\John Doe\workspace\MyProject'...
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.

Same problem when pulling an existing repository.

I've already tried to upload SSH keys found in ~/.ssh/github-ssh.pub to Github settings but it doesn't help anything.

EDIT: Just checked, it will happen even if I try to clone a non-existent repository.


Seems that a firewall was blocking git from accessing the revocation list. To override this I set the config:

git config --global http.sslVerify false




github