关于使用 git 命令行时遇到的错误消息 unable to get local issuer certificate

unable to get local issuer certificate 是开发人员在尝试使用特定于 Windows 的命令行工具 Git Bash 推送、拉取或克隆 git 存储库时面临的常见问题。

当 Git 服务器的 SSL 证书是自签名(self-signed)时,经常会出现无法获取本地颁发者证书的错误。 自签名证书的问题是与它们关联的私钥不能被撤销,这使其成为一个安全漏洞。

另一种可能的原因是由于系统上的 Git 配置不正确,或者在 Visual Studio Code (VS Code) 终端中使用 git 时的配置不正确。

unable to get local issuer certificate 是由本地计算机上的 SSL 证书配置错误引起的。 在推送、拉取或克隆时,Git 无法验证本地的 SSL 证书,从而导致错误。

有效的 HTTPS 握手要求客户端和服务器共同努力以便创建安全连接,从而允许本地计算机与托管源代码的位置之间进行安全通信。 当本地计算机的 SSL 证书无法验证时,Git 无法完成与托管存储库的服务器的 HTTPS 握手。

当 VS Code 中出现 无法获取本地颁发者证书错误时,通常是因为 Visual Studio 找不到 SSL 证书。 这可能是由于本地计算机上的路径配置错误。

当自签名证书导致出现 ssl 证书问题时,解决方法是将证书添加到受信任的证书存储(trusted certificate store)中。

默认情况下,受信任的证书存储位于 Git Bash 的以下目录中:

C:\Program Files\Git\mingw64\ssl\certs\

在我电脑上的例子:

打开位于上述目录中的文件 ca-bundle.crt,然后将 Git SSL 证书复制并粘贴到文件末尾。 完成后,保存文件并运行 git pull、push 或 clone 命令。

出于安全考虑,不建议禁用 SSL 证书验证。

您可以使用以下命令在 Git 中本地禁用 SSL 证书验证:

git -c http.sslVerify=false clone [URL]

或者是进行全局禁用:

git config --global http.sslVerify false

重新启用:

git config --global http.sslVerify true

你可能感兴趣的:(关于使用 git 命令行时遇到的错误消息 unable to get local issuer certificate)