📌  相关文章
📜  无法获取本地颁发者证书 git - Shell-Bash (1)

📅  最后修改于: 2023-12-03 14:55:07.462000             🧑  作者: Mango

无法获取本地颁发者证书 git - Shell-Bash

当我们在使用 Git 的时候,有时候会遇到 unable to get local issuer certificateSSL certificate problem: unable to get local issuer certificate 错误,这种情况一般是因为 Git 根证书不在本地受信任列表中,或者 Git 使用了代理但代理没有正确处理 HTTPS 流量。

为了解决这个问题,我们需要进行如下操作:

解决方法一:更新根证书

Git 使用的 SSL 证书链通常会包括各种各样的根证书,而这些根证书需要被添加到本地的受信任证书列表中。可以从 Mozilla 的 根证书程序 中获取最新的根证书列表,也可以手动下载所需根证书。

将根证书添加到本地的受信任证书列表中,方法因不同操作系统而有所不同。例如在 Windows 上,可以按如下步骤添加:

  1. 在 Windows 中打开“管理计算机证书”窗口,可以通过搜索“证书”来找到该窗口。
  2. 在左侧面板中选择“受信任的根证书颁发机构”。
  3. 选择导入,然后选择下载的根证书。

在将根证书添加到受信任列表之后,Git 就能够正确地验证 SSL 证书链了。

解决方法二:取消 HTTPS 代理

如果使用了代理但代理没有正确处理 HTTPS 流量,那么也会出现无法获取本地颁发者证书的错误。此时我们需要取消 HTTPS 代理:

git config --global --unset http.proxy
git config --global --unset https.proxy

取消代理之后,Git 将直接连接远程仓库,而不会经过代理。

总结

无法获取本地颁发者证书 git - Shell-Bash 的错误是 Git 调用 SSL 函数时返回的错误,这个错误通常是因为 SSL 证书链上的一些证书根证书不在本地受信任列表中,或者是 Git 使用了代理但代理没有正确处理 HTTPS 流量。解决方法包括更新根证书和取消 HTTPS 代理。