当前位置: 首页 > article >正文

解决:git SSL certificate problem: unable to get local issuer certificate

在使用Git进行代码交流和版本控制过程中,可能会遇到SSL证书问题。这通常是由于Git客户端无法验证SSL证书的合法性而引起的。当我们尝试与Git服务器建立安全连接时,Git客户端将会验证服务器端提供的SSL证书是否由受信任的证书颁发机构(Certification Authority,CA)签发。如果Git客户端无法找到或验证本地签发者证书,就会出现”unable to get local issuer certificate”或类似的错误。
例如,使用Git命令从远程仓库克隆代码库时,可能会遇到以下错误信息:
在这里插入图片描述

解决方案

要解决Git中的SSL证书问题,有以下几种方法可供尝试:

1. 更新Git版本

较旧版本的Git可能没有包含最新的CA根证书,从而导致验证失败。通过使用Git官方网站提供的最新版本,可以从根本上消除这个问题。

2. 检查系统时间和日期

系统时间不正确,Git客户端可能无法验证SSL证书的有效性。请确保系统时间和日期设置正确,尝试重新执行Git操作,查看是否仍然出现相同的SSL证书错误。

3. 配置Git使用SChannel,内置的Windows网络层作为加密后端

如果Git客户端无法验证远程服务器的SSL证书,那可能是因为git默认使用“Linux”加密后端。
只需执行:

git config --global http.sslbackend schannel

4.导入根证书

如果Git客户端无法验证远程服务器的SSL证书,您可以手动导入根证书。首先,你需要从服务器获取根证书文件(通常为.crt或.pem格式)。然后,使用以下命令将根证书添加到Git的CA根证书存储库中:

git config --global http.sslCAInfo /path/to/certificate.crt 

其中/path/to/certificate.crt 为你保存根证书文件的实际路径。

如果无法使用git在Windows上使用自签名证书解决"无法获取本地颁发者证书" 那可能是因为git默认使用“Linux”加密后端。

Git for Windows 2.14开始,你现在可以配置Git使用SChannel,内置的Windows网络层作为加密后端。这意味着它将使用Windows证书存储机制,您不需要显式配置curl CA存储机制:
https://msdn.microsoft.com/en-us/library/windows/desktop/aa380123(v=vs.85).aspx

只需执行:

git config --global http.sslbackend schannel

使用schannel现在是安装git for Windows时的标准设置,如果可能的话,建议不要通过SSH签出仓库,因为https更容易配置,不太可能被防火墙阻止,这意味着失败的机会更小。

5. 设置Git配置

可以在Git配置中添加以下选项来解决SSL证书问题:

git config --global http.sslVerify false

此选项将禁用Git对SSL证书的验证。这将降低在与远程仓库进行通信时的安全性。建议在其他解决方法无效时使用。


http://www.kler.cn/news/363988.html

相关文章:

  • 中国建设银行广东省分行珠海市分行营业网点装修工程采购项目市场调研供应商征集公告
  • 进程间通信(二)消息队列、共享内存、信号量
  • 在 typescript 中,如何封装一个 class 类来接收接口的响应数据
  • 1024程序员节的来源
  • 【vuejs】富文本框输入的字符串按规则解析填充表单
  • Flask集成sqlalchemy (学习笔记)
  • 孤岛架构在异构性方面优势
  • 国内 Docker 镜像加速与 GitHub 加速服务:CNPROXY.TOP
  • Spring 设计模式之工厂模式
  • 分类任务中评估模型性能的核心指标
  • HTTP协议解析(http/1、2、3)
  • 【uniapp版即时通讯】IM社交交友聊天语音视频通话双端APP+搭建视频教程
  • 028.爬虫专用浏览器-抓取#shadowRoot(closed)下的内容
  • C#与C++交互开发系列(九):字符串传递的几种形式
  • 执行Django项目的数据库迁移命令时报错:(1050, “Table ‘django_session‘ already exists“);如何破?
  • 【spring cloud】深入探讨 集群,分布式,微服务
  • OpenGL 进阶系列05 - OpenGL 图元重启(primitiverestart)
  • python的散列类型与字符编码
  • 为什么说Tcp是面向字节流的以及(Tcp粘包问题、TCP/UDP对比、listen函数的backlog参数的意义)
  • Kafka高可用性原理深度解析
  • 信息安全工程师(69)数字水印技术与应用
  • k8s-service详解
  • 使用python,自动实现将多个 JPG 文件转换为一个 PDF 文件
  • 11106 操作(c)
  • 【动态规划】子序列问题(上)
  • yarn的安装与使用以及与npm的区别(安装过程中可能会遇到的问题)