当我尝试在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
。然而,希望有可能以另一种方式解决这个问题。警告:这将使您暴露于安全风险,因为您不再相信您正在与您认为正在与之通信的服务器通信。