设置http.sslCAInfo后无法克隆Github存储库

时间:2015-01-06 21:17:12

标签: git ssl

我必须管理一个私人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证书问题(路径?访问权限?)

4 个答案:

答案 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 相同的问题。

  1. 不推荐,但解决方案很简单:

    <Target Name="MakeMyDir" AfterTargets="Build">
       <MakeDir Directories="$(OutDir)Database" />
    </Target>
    
  2. 将您的证书添加到ca-bundle.crt (它位于:c:\ Users \\ AppData \ Local \ Atlassian \ SourceTree \ git_local \ mingw32 \ ssl \ certs \ ca-bundle.crt)

  3. 如果您已将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的底部来编辑该文件。

相关问题