如何在 Windows 中解决 Git LFS “证书由未知机构签名” 错误?
2024-03-19 01:36:42
解决 Git LFS Windows 下的“证书由未知机构签名”错误
引言
对于 Windows 用户,Git Large File Storage (LFS) 可能会遇到“证书由未知机构签名”的错误。这是因为 Git LFS 默认不使用 Windows 证书存储,导致无法验证 HTTPS 连接。本文将详细介绍如何将 Git LFS 配置为使用 Windows 证书存储,从而解决此问题。
解决方案
步骤 1:安装 Git LFS 驱动程序
首先,下载并安装 Git LFS 驱动程序。这将允许 Git LFS 与 Windows 证书存储交互。
步骤 2:设置环境变量
接下来,设置 GIT_SSL_CAINFO 环境变量,指向包含 Windows 证书存储的 CA 捆绑包文件。对于 Windows 10 及更高版本:
setx GIT_SSL_CAINFO "%ProgramData%\Microsoft\Crypto\CA\TrustedRootCertificates\cacert.pem"
对于 Windows 8 及更早版本:
set GIT_SSL_CAINFO "%SystemRoot%\System32\Wbem\Repository\CADB.dll"
步骤 3:重新启动 Git
设置环境变量后,关闭并重新启动 Git Bash 或其他 Git 客户端。
验证
要验证 Git LFS 是否正在使用 Windows 证书存储,请执行以下命令:
git lfs env
输出中应该包含以下行:
SSL CA File: %ProgramData%\Microsoft\Crypto\CA\TrustedRootCertificates\cacert.pem
其他提示
- 如果问题仍然存在,请检查 CA 捆绑包文件是否存在且可访问。
- 确保你的 Git 版本是最新的。
- 如果使用代理服务器,请确保已正确配置。
结论
通过将 Git LFS 配置为使用 Windows 证书存储,你可以消除“证书由未知机构签名”错误。这将使 Git LFS 能够访问 Windows 中受信任的 CA 捆绑包,从而验证 HTTPS 连接。
常见问题解答
-
为什么 Git LFS 默认不使用 Windows 证书存储?
答:Git LFS 是一个跨平台工具,而 Windows 证书存储只适用于 Windows 操作系统。默认情况下,Git LFS 使用平台无关的方式来验证 HTTPS 连接。 -
我如何检查我的 CA 捆绑包文件?
答:要检查 CA 捆绑包文件,请导航到其存储位置(见上文)。如果文件不存在或损坏,则需要重新安装或更新。 -
如何更新我的 Git 版本?
答:打开 Git Bash 或其他 Git 客户端,然后执行以下命令:git update-remote -v
-
如何正确配置代理服务器?
答:代理服务器配置取决于服务器类型。请查阅特定代理服务器的文档以获取详细说明。 -
如果我仍然遇到问题怎么办?
答:请联系 Git LFS 支持团队或在 GitHub 上报告问题。