我必须管理一个私人git仓库,所以我创建了一个.pem并将http.sslCAInfo设置为.pem的路径。但现在我不能再从Github的回购中克隆出来了:
致命:无法访问 ' https://github.com/KidSysco/jquery-ui-month-picker/':服务器 证书验证失败。凭证档案错误: /home/marco/sources/git_certs/cert.pem CRLfile:none
http.sslCAInfo的默认值是什么?我试着将它设置为""但现在我得到了
致命:无法访问' https://github.com/KidSysco/jquery-ui-month-picker/':SSL CA证书问题(路径?访问权限?)
答案 0 :(得分:4)
好的,我用
解决了git config --global http.sslCAInfo /etc/ssl/certs/ca-certificates.crt
您只能使用
配置当前回购git config http.sslCAInfo path/to/local.pem
答案 1 :(得分:2)
您还可以运行以下命令来获取"右键" openssl正在使用的目录(在Linux / Git Bash下)。这会以引号输出目录,因此您不需要做任何特殊的魔术来处理空格,并且可以将其直接传递给另一个命令。
openssl version -d | awk '{ print $2 }'
所以你可以用:
来修复你的git配置 git config --global http.sslCAInfo $(openssl version -d | awk '{ print $2 }')
答案 2 :(得分:1)
我在Windows上遇到与 SourceTree 相同的问题。
不推荐,但解决方案很简单:
<Target Name="MakeMyDir" AfterTargets="Build">
<MakeDir Directories="$(OutDir)Database" />
</Target>
将您的证书添加到ca-bundle.crt (它位于:c:\ Users \\ AppData \ Local \ Atlassian \ SourceTree \ git_local \ mingw32 \ ssl \ certs \ ca-bundle.crt)
如果您已将http.sslCAInfo设置为自签名证书并希望重新设置为原始证书:
Disable certificate check
git config --system http.sslverify false
答案 3 :(得分:1)
我在Windows用户帐户的根目录下找到了.gitconfig文件。您可能需要在Windows资源管理器或linux中为。(。dot)文件打开“显示隐藏文件”。
然后我擦除了这两行以将sslCAInfo恢复为默认值:
[http]
sslCAInfo = *whatever you set here*
然后我建议按照以下说明https://mattferderer.com/fix-git-self-signed-certificate-in-certificate-chain-on-windows
基本上将证书导出为base64证书,在git安装中找到ca-bundle.crt,通过将文本从导出的base64证书复制到ca-bundle.crt的底部来编辑该文件。