仅在Git Extensions中出现“无法获取本地颁发机构证书”的错误

编程语言 2026-07-11

我已阅读以下两个相关问题:

我已经尝试了里面列出的所有方法,但在GetExtensions中仍然收到错误“unable to get local issuer certificate”。奇怪的是,这个错误只在GitExtensions中出现,其他方法都没有问题。

我还安装了TortoiseGit,工作正常。我可以抓取、推送、拉取、执行任何Git命令,没问题。我只有一个Git安装,一个系统范围的.gitconfig,以及一个全局.gitconfig。

在PowerShell中使用Bash命令也能正常工作。

这对我来说没有道理,因为证书难道不是在Git设置中管理的吗?不管使用的是哪个前端,设置看起来都一样。但一个能用,另一个却不能。是不是有某些特定的GitExtensions设置我没注意到,可能导致这种情况?(注:我已经检查了我能想到的每一个设置,但也许在某处遗漏了什么)

我正在使用:

  • Windows 11 (NT 10.0.26200.0)
  • .NET 9.013
  • Git 2.46.0.windows.1 *
  • GitExtensions 6.0.5.18375
  • TortoiseGit 2.18.0.1

是的,我知道这不是最新的Git版本——该版本由我的组织管理,我没有管理员权限,在他们将新版本推送到公司门户之前,我暂时无法更新。

我还要提及,在TortoiseGit和 GitExtensions中都使用 wincred 作为凭证管理器。刚开始在GitExtensions中把它错误地设为 manager,但我已在全局和本地作用域更新为 wincred。由于需要管理员权限,因此无法在系统范围作用域进行修改。

另外,我还注意到,正确的SSL证书只在全局和本地作用域中被引用,而在系统范围作用域中未被引用。不过,本地设置应该覆盖全局设置,而全局设置又覆盖系统设置,对吗?

附加信息:该SSL证书是我们企业网络的Zscaler根 CA,因此不是自签证书,尽管我相信它不在Windows的默认证书链中。它直到2052年才到期。

我喜欢GitExtensions的前端,想继续使用它(注:我刚换到一台新的Windows 11电脑,之前的Windows 10电脑也没有问题)。我们有一个包含大量分支的大型仓库,我发现它是一款一次性获取所有分支最简单的工具。

解决方案

你可以通过使用环境变量包装器或严格的全局路径,强制GitExtensions将正确的Zscaler证书捆绑包直接传递给Git。

  1. 在GitExtensions中,依次点击Tools > Git bash。
  2. 运行以下命令,以确切查看Git当前尝试使用的证书文件:
git config --global http.sslCAInfo

如果它返回指向你的Zscaler .pem.crt 文件的正确路径,GitExtensions可能无法解析Windows路径格式。请改用正斜杠替换全局配置路径中的反斜杠:

gitgit config --global http.sslCAInfo "C:/Users/YourUsername/Path/To/ZscalerCertificate.pem"
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章