在Windows上Git ssl错误

Jim*_*mit 13 git ssl gitorious msysgit

尝试使用Windows上的ssl克隆git存储库时,我不断收到以下错误:

error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
Run Code Online (Sandbox Code Playgroud)

ssl证书层次结构是可信的(颁发者证书被添加到受信任的根证书颁发机构),我可以浏览到托管站点(Gitorious的私有实例),而不会出现ssl错误.我已尝试在Windows 7和Windows Server 2008上进行克隆,但两次都失败了.

有人有任何想法吗?

小智 18

Git显然没有获取保存在Windows中的证书,您必须指定编辑证书文件.gitconfig的路径

gitconfig位置:

C:\Program Files (x86)\Git\etc
Run Code Online (Sandbox Code Playgroud)

添加行(替换为文件路径和yourCertificate.ctr以及证书的名称):

.
.
.
[help]
    format = html
[http]
    sslVerify = true
    sslCAinfo = C:/Program Files (x86)/Git/bin/curl-ca-bundle.crt
    sslCAinfo = [route]/yourCertificate.crt
[sendemail]
    smtpserver = /bin/msmtp.exe

[diff "astextplain"]
.
.
.
Run Code Online (Sandbox Code Playgroud)

然后再试一次..

  • Windows上的Git不再在这些位置使用.gitconfig文件或curl-ca-bundle.crt,而我现在无法找到正确的方法. (3认同)

Mir*_*ica 7

如果您使用的是Linux或Mac OS,则可以键入终端:

export GIT_SSL_NO_VERIFY=1
git clone https://some.repository
Run Code Online (Sandbox Code Playgroud)

在Windows上:

Right click on My Computer -> Properties -> Advanced System settings -> Environment Variables
Add variable GIT_SSL_NO_VERIFY with value 1
Run Code Online (Sandbox Code Playgroud)

  • 请不要建议用户禁用SSL证书验证.相反,请查看Guillermo Zacur的解决方案,并将您的根证书添加到可信CA的列表中. (21认同)

Aas*_*set -1

如果其他方法都失败,您可以将环境变量设置GIT_SSL_NO_VERIFYtrue. 但是,希望可以通过其他方式解决该问题。警告:这会使您面临安全风险,因为您不再相信您正在与您认为正在与之通信的服务器进行通信。