windows上的Git ssl错误



当我尝试在windows上使用ssl克隆git存储库时,我一直得到以下错误:

error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed

ssl证书层次结构是受信任的(颁发者证书被添加到受信任的根证书颁发机构),我可以浏览到托管站点(Gitorious的私有实例),没有ssl错误。我试过在Windows 7和Windows Server 2008上克隆,两次都失败了。

有人有什么想法吗?

Git显然不接受保存在windows中的证书,您必须指定编辑证书文件的路径.gitconfig

gitconfig位置:

C:Program Files (x86)Gitetc

添加一行(替换为file和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"]
.
.
.

http的位置。sslcainfo存储在"C:ProgramDataGitconfig"中。在卸载/重新安装git时,它不会改变。

我最近不得不从

sslCAInfo = C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt

sslCAInfo = C:/Users/kristof/AppData/Local/Programs/Git/mingw64/ssl/certs/ca-bundle.crt

参见issue:
配置http。在Git中为Windows自己的系统范围配置sslcainfo #531
https://github.com/git-for-windows/git/issues/531

确保在Git全局配置文件中添加:

 http.sslcainfo=/bin/curl-ca-bundle.crt

您的msysgit实例需要知道在哪里查找CA证书以便验证它们。

查看更多设置在这个SO回答或"Cannot get Http on git to work"

如果以上都不成功,可以将环境变量GIT_SSL_NO_VERIFY设置为true。然而,希望有可能以另一种方式解决这个问题。警告:这将使您暴露于安全风险,因为您不再相信您正在与您认为正在与之通信的服务器通信。

相关内容

最新更新