13

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

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

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

有人有什么想法吗?

4

4 回答 4

19

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

gitconfig 位置:

C:\Program Files (x86)\Git\etc

添加该行(替换为文件的路径,并将 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"]
.
.
.

然后再试一次..

于 2013-09-25T15:21:34.863 回答
1

http.sslcainfo 的位置存储在“C:\ProgramData\Git\config”中。卸载/重新安装 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

另请参阅问题:
在 Git 中为 Windows 自己的系统范围配置配置 http.sslcainfo #531
https://github.com/git-for-windows/git/issues/531

于 2015-11-26T13:19:51.150 回答
0

确保添加到您的 Git 全局配置文件中:

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

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

在这个SO 答案或“ Cannot get Http on git to work ”中查看更多设置。

于 2011-09-23T08:49:50.223 回答
-1

如果一切都失败了,您可以将环境变量设置GIT_SSL_NO_VERIFYtrue. 但是,希望有可能以另一种方式解决该问题。警告:这会使您面临安全风险,因为您不能再相信您正在与您认为正在与之交谈的服务器交谈。

于 2011-09-23T08:32:56.810 回答