27

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

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

git 没有完全退出(退出代码 128)。

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

截屏

4

7 回答 7

25

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

用以下方式配置你的 TortoiseGit。首先打开 TortoiseGit 设置。

然后:

  1. 选择 Git 配置
  2. Edit systemwide gitconfig按“ ”打开全局 git 配置
  3. [http]部分写:

[http]
sslVerify = 假

于 2015-08-21T09:02:27.670 回答
15

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

git config http.sslCAinfo ~/certs/cacert.pem

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

git config http.sslVerify false

安全警告:这很容易受到中间人攻击。在禁用 SSL 认证验证之前,请确保此安全问题对您来说不是问题。

于 2013-11-15T06:07:42.810 回答
11

所有热门答案都非常危险!不要全局禁用 SSL 验证!

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

编辑全局.gitconfig文件以包含

[http "https://example.com"]
    sslCAInfo = C:\\Users\\<username>\\Documents\\ssl\\example.com.crt

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

于 2018-08-27T12:01:05.943 回答
4

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

遗憾的是,我看不到在 Tortoise GUI 设置中配置它的方法。

程序:
1:
找到git所在的文件夹(对于Tortoise git的安装) TortoiseGit -> Settings -> General Git.exe path = (eg) C:\Program Files\git\bin

2:
在资源管理器中浏览此文件夹,在资源管理器 Shift 中右键单击“此处的命令提示符”

3:
输入以下git配置命令

git config --global http.sslBackend schannel

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

于 2021-01-19T14:29:44.607 回答
2

请检查您的 Git for Windows 安装是否正确。

正如您在屏幕截图中看到的 git.exe 找不到模板目录 - 所以我想 git.exe 也找不到随附的 CA 证书。

如果这没有帮助,请参阅此处的描述以将证书包含到 Git 信任存储中。

于 2014-08-04T14:15:08.380 回答
2

尽管出于多种原因禁用 ssl 验证被认为是危险的,但有时这是可行的。其他人指出至少要使用“本地”禁用,但不是如何做到这一点。作为记录,这里是您如何在全局.gitconfig文件(在 Windows 中位于 下c:\Users\username)中定义单个存储库以使用 openssl 并禁用检查。只需添加以下(调整后的)行:

[http "https://your.repo.com"]
 sslBackend = openssl
 sslVerify = false

对我来说,这很完美。正如 FRob 的回答中所指出和链接的那样,这里有一个更细微的选项,它使用您经常可以自己下载的 pem 证书,例如,当在 url 之前“单击”浏览器中的锁定符号并搜索“附加信息”时(firefox,其他应该类似)。

于 2020-01-07T13:14:37.497 回答
-4

Open Git CMD and run below command.

git config --global http.sslVerify false
于 2018-04-20T16:58:27.623 回答