error setting certificate verify locations

描述

在使用 git clone 克隆 GitHub 或者 Gitee 上的项目时,报如下错误:

error setting certificate verify locations:

CAfile: E:/Git/mingw64/ssl/certs/ca-bundle.crt

CApath: none

分析

据错误提示,是设置证书验证位置时出错,也就是证书文件路径错误

克隆远程项目时会先验证安全证书,如果找不到本地的安全证书文件,就会报错。

这也是为什么克隆 GitLab 上的项目时不会报这个错,因为 GitLab 一般都搭建在内网,不用验证安全证书。

出现路径错误的原因往往是因为本地的 Git 是绿色安装的,也就是直接解压使用的。

这样证书文件的路径还是原来机器上的路径,新机器的路径如果不一致,就会造成路径错误。

解决

针对以上的分析,有两种解决方案:

  • 修改证书文件路径(推荐)
  • 关闭证书校验

由于关闭证书校验可能导致安全问题,推荐修改证书文件路径

修改证书文件路径

这里有两种方式:

  • 执行配置命令(推荐)
  • 修改配置文件

这两种方式的本质都是修改配置文件,只是由于修改文件可能会出现一些误操作,且操作更为繁琐,推荐执行配置命令

执行配置命令

git config --system http.sslcainfo "Git安装路径/mingw64/ssl/certs/ca-bundle.crt"

修改配置文件

Git 的系统配置文件位于:Git安装路径\etc\gitconfig

将文件中如图位置的路径修改为 Git安装路径/mingw64/ssl/certs/ca-bundle.crt 再保存即可。

error setting certificate verify locations

关闭证书校验

git config --system http.sslverify false

这种方式可能导致 Git 安全问题,不推荐

上一篇:CSR:SSL证书的孵化器


下一篇:Ubuntu20.04安装软件提示依赖关系不满足:deepin-elf-verify