使用TortoiseGit创建git clone时出现SSL证书问题

abh*_*pta 18 git ssl ssl-certificate tortoisegit

我想在TortoiseGit的帮助下克隆git存储库,但我收到错误:

错误:SSL证书问题,验证CA证书是否正常.详细信息:错误:14090086:SSL例程:SSL3_GET_SERVER_CERTIFICATE:访问https时出现证书验证失败https://git.assembla.com/pplconnect-PL.webserver.git/info/refs?service=git-upload-pack 致命错误:HTTP请求失败

git没有干净地退出(退出代码128).

任何帮助或指导将不胜感激.

截图

小智 23

您可以选择忽略服务器证书(风险自负!).

按以下方式配置TortoiseGit.首先打开TortoiseGit设置.

然后:

  1. 选择Git配置
  2. 打开全局git配置按" Edit systemwide gitconfig"
  3. [http]章节中写道:

[http]
sslVerify = false

  • **禁用SSL验证非常危险.**SSL证书验证的重点是保护您的代码在通过HTTPS传输时不被篡改.禁用它意味着恶意用户可以在推送和获取代码时将漏洞和其他令人讨厌的东西插入到代码中.除非你确定中间人攻击不是你的问题,否则不推荐. (7认同)
  • 不要全局禁用 ssl 服务器证书验证。最好的方法是添加正确的证书。否则禁用特定存储库。 (2认同)

Jas*_*gan 19

正确的解决方案很简单:告诉 Git 使用 Windows 证书存储。git version >=2.14 支持此功能(不确定与哪个 Tortoise 版本相关)

通过命令行配置:

  1. 找到 git 所在的文件夹(对于安装 Tortoise git 的文件夹) TortoiseGit -> Settings -> General Git.exe path = (eg)C:\Program Files\git\bin
  2. 在资源管理器中浏览到此文件夹,然后右键单击“命令提示符此处”
  3. 输入以下git配置命令
    git config --global http.sslBackend schannel
    
    Run Code Online (Sandbox Code Playgroud)

或者,从 TortoiseGit 界面:

  1. Git面板上单击“编辑全局 .gitconfig”按钮。
  2. [http]如果文件中没有该部分,请添加该行。
  3. 更新该行或将其添加sslBackend = schannel到该[http]部分,因此它应如下所示:
    [http]
      sslBackend = schannel
    
    Run Code Online (Sandbox Code Playgroud)

照常在 Windows 证书存储中安装自签名证书链。


JVS*_*JVS 14

配置git以使用正确的根证书.获取服务器的根CA证书并将其添加到git config.在命令提示符下运行此命令(不要忘记cd进入你的git repo)

git config http.sslCAinfo ~/certs/cacert.pem
Run Code Online (Sandbox Code Playgroud)

您可以选择忽略服务器证书(风险自负!).

git config http.sslVerify false
Run Code Online (Sandbox Code Playgroud)

安全警告:这对中间人攻击很敏感.在禁用SSL证书验证之前,请确保此安全问题不是您的问题.

  • ***禁用SSL验证非常危险.***SSL证书验证的重点是保护您的代码在通过HTTPS传输时不被篡改.禁用它意味着恶意用户可以在推送和获取代码时将漏洞和其他令人讨厌的东西插入到代码中.除非你确定中间人攻击不是你的问题,否则不推荐. (5认同)
  • 这本身并不禁用SSL.它忽略验证服务器证书.客户端仍然必须提供证书,这将由服务器验证.所有通信都将使用SSL协议.它相当于卷曲中的-k.但是,我同意MITM攻击仍有可能.所以这绝不应该用在公共网络中. (4认同)

FRo*_*Rob 6

所有最重要的答案都是非常危险的!不要全局禁用SSL验证!

而是在另一个线程中使用出色的答案并非常有选择地允许特定站点使用自签名证书。

编辑全局.gitconfig文件以包括

[http "https://example.com"]
    sslCAInfo = C:\\Users\\<username>\\Documents\\ssl\\example.com.crt
Run Code Online (Sandbox Code Playgroud)

CRT文件本身可以通过多种方式获得。您可以只使用Firefox保存它,将其存储在安全的地方,然后将您的配置指向它。