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
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。