添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement . We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Describe the feature or problem you’d like to solve

DINESH.DIXIT@LP-B1NY0Z2 MINGW64 /c/code/GitHub2
$ git clone https://github.com/dineshdixitgit/meta-api.git
Cloning into 'meta-api'...
fatal: unable to access ' https://github.com/dineshdixitgit/meta-api.git/ ': SSL certificate problem: unable to get local issuer certificate

A clear and concise description of what the feature or problem is.

Proposed solution

How will it benefit Desktop and its users?

Additional context

Add any other context like screenshots or mockups are helpful, if applicable.

@dineshdixitgit this error can be caused by a few things -- are you running any security software on your machine that could be interfering with your connection to GitHub? Some security software will man-in-the-middle your connection.

You can also check out this issue thread #3684 for some specific steps to debug this issue. To check if there are any configuration issues on your machine it would be helpful if you could open up Git for Windows and run the following command:

git config -l --show-origin

Let me know the output of that.

Please find trace as below- DINESH.DIXIT@LP-B1NY0Z2 MINGW64 /c/code/GitHub/gcdm (GCDM_CORE_152.00_MISC) $ git config -l --show-origin file:C:/Users/dinesh.dixit/AppData/Local/Programs/Git/etc/gitconfig diff.astextplain.textconv=astextplain file:C:/Users/dinesh.dixit/AppData/Local/Programs/Git/etc/gitconfig filter.lfs.clean=git-lfs clean -- %f file:C:/Users/dinesh.dixit/AppData/Local/Programs/Git/etc/gitconfig filter.lfs.smudge=git-lfs smudge -- %f file:C:/Users/dinesh.dixit/AppData/Local/Programs/Git/etc/gitconfig filter.lfs.process=git-lfs filter-process file:C:/Users/dinesh.dixit/AppData/Local/Programs/Git/etc/gitconfig filter.lfs.required=true file:C:/Users/dinesh.dixit/AppData/Local/Programs/Git/etc/gitconfig http.sslbackend=openssl file:C:/Users/dinesh.dixit/AppData/Local/Programs/Git/etc/gitconfig http.sslcainfo=C:/Users/dinesh.dixit/AppData/Local/Programs/Git/mingw64/ssl/certs/ca-bundle.crt file:C:/Users/dinesh.dixit/AppData/Local/Programs/Git/etc/gitconfig core.autocrlf=true file:C:/Users/dinesh.dixit/AppData/Local/Programs/Git/etc/gitconfig core.fscache=true file:C:/Users/dinesh.dixit/AppData/Local/Programs/Git/etc/gitconfig core.symlinks=false file:C:/Users/dinesh.dixit/AppData/Local/Programs/Git/etc/gitconfig credential.helper=manager file:C:/Users/dinesh.dixit/.gitconfig filter.lfs.required=true file:C:/Users/dinesh.dixit/.gitconfig filter.lfs.clean=git-lfs clean -- %f file:C:/Users/dinesh.dixit/.gitconfig filter.lfs.smudge=git-lfs smudge -- %f file:C:/Users/dinesh.dixit/.gitconfig filter.lfs.process=git-lfs filter-process file:C:/Users/dinesh.dixit/.gitconfig user.name=dineshdixitgit file:C:/Users/dinesh.dixit/.gitconfig [email protected] file:.git/config core.repositoryformatversion=0 file:.git/config core.filemode=false file:.git/config core.bare=false file:.git/config core.logallrefupdates=true file:.git/config core.symlinks=false file:.git/config core.ignorecase=true file:.git/config submodule.active=. file:.git/config remote.origin.url= https://github.com/wmgdsp/gcdm.git file:.git/config remote.origin.fetch=+refs/heads/*:refs/remotes/origin/* file:.git/config branch.master.remote=origin file:.git/config branch.master.merge=refs/heads/master file:.git/config branch.GCDM_CORE_151.00_S1.remote=origin file:.git/config branch.GCDM_CORE_151.00_S1.merge=refs/heads/GCDM_CORE_151.00_S1 file:.git/config branch.GCDM_CORE_141.00_API.remote=origin file:.git/config branch.GCDM_CORE_141.00_API.merge=refs/heads/GCDM_CORE_141.00_API file:.git/config branch.GCDM_CORE_152.00_MISC.remote=origin file:.git/config branch.GCDM_CORE_152.00_MISC.merge=refs/heads/GCDM_CORE_152.00_MISC DINESH.DIXIT@LP-B1NY0Z2 MINGW64 /c/code/GitHub/gcdm (GCDM_CORE_152.00_MISC) $ git status On branch GCDM_CORE_152.00_MISC Your branch is up to date with 'origin/GCDM_CORE_152.00_MISC'. nothing to commit, working tree clean DINESH.DIXIT@LP-B1NY0Z2 MINGW64 /c/code/GitHub/gcdm (GCDM_CORE_152.00_MISC) Thanks, Dinesh Dixit WMG-GCDM HCL Team Cell: +91-80760-53933

@dineshdixitgit it looks like you have http.sslbackend set to openssl , which means GitHub Desktop isn't using the Windows certificate store. Running the command git config --global http.sslBackend schannel should resolve this issue and allow your stored certificate to be picked up. Let me know if that doesn't get things working.

mail2vij, jjperaltag, abhigarg92, seoseokbeom, sachinchaturvedi93, jpj-verstappen, CastielWong, tmx-penny, molnargabor, wangpeng1994, and 96 more reacted with thumbs up emoji BAAAKA, WillACosta, jkvitlko, ojst60, adam-grant-hendry, sumant4ssm, CryptoOak, RohitPatilAtShell, tick97115115, jacobbroughton, and 5 more reacted with hooray emoji wangpeng1994, Gabr-bb, jgonzal1, arguapacha, NicholasFry-6989, srini0281, dhgoratela, horax77, yurimutti, sasinh, and 49 more reacted with heart emoji All reactions

Hi Steve,
Both openchannel and schannel gave me errors as below. Please suggest-

$ git config --global http.sslBackend "openssl"
$ git clone https://github.com/wmgdsp/gcdm-api.git gcdm-api-test
Cloning into 'gcdm-api-test'...
fatal: unable to access ' https://github.com/wmgdsp/gcdm-api.git/ ': SSL certificate problem: unable to get local issuer certificate

$ git config --global http.sslBackend "schannel"
$ git clone https://github.com/wmgdsp/gcdm-api.git gcdm-api-test
Cloning into 'gcdm-api-test'...
fatal: unable to access ' https://github.com/wmgdsp/gcdm-api.git/ ': schannel: next InitializeSecurityContext failed: Unknown error (0x80092012) - The revocation function was unable to check revocation for the certificate.

The 'revocation' error is usually caused by your network blocking the attempt by Windows to check the revocation status of a certificate, which then causes the whole operation to error. You can find a workaround for this issue here:

https://github.com/desktop/desktop/blob/development/docs/known-issues.md#certificate-revocation-check-fails---3326

Let me know if that doesn't get things working for you.

D:\Rajiv\microservice>git config -l --show-origin
file:"C:\ProgramData/Git/config" core.symlinks=false
file:"C:\ProgramData/Git/config" core.autocrlf=true
file:"C:\ProgramData/Git/config" core.fscache=true
file:"C:\ProgramData/Git/config" color.diff=auto
file:"C:\ProgramData/Git/config" color.status=auto
file:"C:\ProgramData/Git/config" color.branch=auto
file:"C:\ProgramData/Git/config" color.interactive=true
file:"C:\ProgramData/Git/config" help.format=html
file:"C:\ProgramData/Git/config" http.sslcainfo=C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt
file:"C:\ProgramData/Git/config" diff.astextplain.textconv=astextplain
file:"C:\ProgramData/Git/config" rebase.autosquash=true
file:"C:\Program Files\Git\mingw64/etc/gitconfig" credential.helper=manager
file:C:/Users/RA346186/.gitconfig user.name=Rajiv
file:C:/Users/RA346186/.gitconfig user.email= [email protected]

HI @steveward ,
I tried : git config --global http.sslBackend schannel
after this I tried cloning, and got this error
fatal: unable to access ' https://github.com/KDS717/Python.git/ ': schannel: next InitializeSecurityContext failed: Unknown error (0x80092012) - The revocation function was unable to check revocation for the certificate.

@KDS717 are you running any antivirus software on your system that could be causing this? We've seen specific antivirus software like Kaspersky cause this as well.

You can also skip the revocation check by running this command:

git config --global http.schannelCheckRevoke false

See this section of our known issues doc for reference.

@KDS717 are you running any antivirus software on your system that could be causing this? We've seen specific antivirus software like Kaspersky cause this as well.

You can also skip the revocation check by running this command:

git config --global http.schannelCheckRevoke false

See this section of our known issues doc for reference.

This worked for me on my corporate machine - I was cloning from my own GitHub repo. I made sure to revert it to git config --global http.schannelCheckRevoke true once I was done, however :)

Edit: I would instead now recommend adding the -c http.sslVerify=false argument to your git command, e.g. git -c http.sslVerify=false pull or git -c http.sslVerify=false clone <some external Git repo> as the SSL permissions are only overridden temporarily, therefore eliminating the possibility of forgetting to re-enable http.schannelCheckRevoke true .

@dineshdixitgit it looks like you have http.sslbackend set to openssl , which means GitHub Desktop isn't using the Windows certificate store. Running the command git config --global http.sslBackend schannel should resolve this issue and allow your stored certificate to be picked up. Let me know if that doesn't get things working.

Hi. Thanks to this, worked for me. My setup is: I have a VPN running which serves as a middleware ( company requirement ) and it blocks any access that's not listed on my policy.

@ashleyjamesbrown the best fix I found only yesterday - add a -c http.sslVerify=false argument to your git clone command.
e.g. git -c http.sslVerify=false clone https://github.com/AzureADQuickStarts/AppModelv2-NativeClient-DotNet.git

That way git knows to temporarily set the sslVerify property to false for the duration of the command. The same also works for git pull and git push (and any other git commands).

remote: Password authentication is not available for Git operations.
remote: You must use a personal access token or SSH key.

I think tis the enterprise (work) account so ill see if its that

Yup - last thing i had to do was make a PAT instead of using my github password.

Then i used the line above from you and it worked. Thanks so much.

git -c http.sslVerify=false clone https://mygithubrepo

remote: Enumerating objects: 48, done.
remote: Total 48 (delta 0), reused 0 (delta 0), pack-reused 48
Unpacking objects: 100% (48/48), done.

Cloning into 'ToDoList-Core'...
fatal: unable to access ' https://github.com/TamarShayo/ToDoList-Core.git/ ': SSL certificate problem: unable to get local issuer certificate
what the problem?

@dineshdixitgit it looks like you have http.sslbackend set to openssl , which means GitHub Desktop isn't using the Windows certificate store. Running the command git config --global http.sslBackend schannel should resolve this issue and allow your stored certificate to be picked up. Let me know if that doesn't get things working.

Thank you!
That worked.

If you're encountering an SSL certificate problem while trying to clone a repository from GitHub, the issue is likely related to the SSL certificate configuration on your system. This error message often indicates that Git is unable to verify the authenticity of the SSL certificate presented by the GitHub server. Here are some steps you can take to resolve the issue:

Update Git:
Ensure that you have the latest version of Git installed on your system. Old versions of Git might have issues with SSL certificate validation. Visit the official Git website to download and install the latest version: https://git-scm.com/

Check System Date and Time:
Make sure that the date and time settings on your system are correct. SSL certificates are time-sensitive, and an incorrect date/time might lead to validation issues.

Configure Git to Use the System Certificate Store (Windows Only):
If you're using Git on Windows, you can configure it to use the system certificate store, which may help resolve SSL certificate problems. Open a command prompt and run the following command:

git config --global http.sslBackend schannel

Reinstall Git Certificate Authorities (Windows Only):
On Windows, Git relies on a specific set of trusted Certificate Authorities (CAs). Sometimes, these certificates can become outdated or corrupted. You can try reinstalling Git for Windows to refresh these certificates:

Download the latest version of Git for Windows from: https://git-scm.com/download/win
Run the installer and select the same installation path as your current Git installation (to overwrite the existing installation).
Choose the appropriate options during the installation.

Use SSH Instead of HTTPS (Recommended):
Instead of using HTTPS to clone a repository, consider using SSH. SSH is often more convenient and bypasses SSL certificate verification issues altogether. Follow GitHub's guide to set up SSH for Git: https://docs.github.com/en/github/authenticating-to-github/connecting-to-github-with-ssh

Check Proxy Settings:
If you are behind a proxy, ensure that your proxy settings are correctly configured for Git. Improper proxy settings can interfere with SSL certificate verification. Use the following command to check your current proxy settings in Git:

git config --global --get http.proxy git config --global --get https.proxy
If you see any proxy settings that shouldn't be there, you can clear them using:

git config --global --unset http.proxy git config --global --unset https.proxy
Disable SSL Verification (Not Recommended):
This is not recommended for security reasons, but as a last resort, you can disable SSL certificate verification in Git with the following command:
git config --global http.sslVerify false
Note that disabling SSL verification is not a secure solution and should only be used temporarily for debugging purposes. It's essential to fix the underlying issue to ensure secure connections.

If none of the above solutions work, there might be other network-related issues or firewall configurations interfering with the connection. In that case, you may want to consult with your network administrator or internet service provider for further assistance.

Hi, I was getting the same ssl related issue while cloning the repo on local system, post running below command my this issue got fixed.
git config --global http.sslBackend schannel