You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Git Bash中添加自签名证书至证书包以解决Git更新时的SSL证书错误?

如何在Git Bash中添加自签名证书至证书包以解决Git更新时的SSL证书错误?

嗨,我之前也碰到过一模一样的情况,咱们一步步来搞定这个问题:

方法一:修改Git自带的证书包

  1. 找到Git使用的证书文件路径
    先打开Git Bash,输入命令确认当前Git配置的证书路径:

    git config --get http.sslCAinfo
    

    如果返回了具体路径,那就是咱们要找的文件;如果没有返回内容,Git默认用的是安装目录下的证书包,你可以先通过where git找到Git的根目录(一般是C:\Program Files\Git),对应的证书包路径就是mingw64/ssl/certs/ca-bundle.crt(32位系统则是mingw32/ssl/certs/ca-bundle.crt)。

  2. 准备你的自签名证书
    确保你的根证书是PEM格式(就是文本形式,开头是-----BEGIN CERTIFICATE-----,结尾是-----END CERTIFICATE-----)。如果你的证书是二进制的DER格式,可以在Git Bash里用OpenSSL转成PEM:

    openssl x509 -inform der -in your-cert.cer -out your-cert.pem
    
  3. 将证书添加到证书包
    用管理员权限打开文本编辑器(比如Notepad++),找到并打开刚才的ca-bundle.crt文件,把你的PEM格式证书内容完整复制粘贴到文件末尾,然后保存即可。

方法二:单独指定证书文件(不修改系统证书包)

如果你不想改动Git自带的证书包,可以单独配置Git使用你的自签名证书:

  1. 把你的PEM格式证书放到一个固定的位置,比如C:\Users\你的用户名\git-certs\my-root-cert.pem
  2. 在Git Bash里运行以下命令配置全局Git参数:
    git config --global http.sslCAinfo "C:/Users/你的用户名/git-certs/my-root-cert.pem"
    
    这样Git就会优先使用你指定的证书来验证SSL连接了。

额外提示

如果配置后git update-git-for-windows还是报错,记得检查你修改的证书路径是不是Git自带的那个,或者全局配置的路径是否正确——毕竟这个更新命令用的是Git内置的curl工具,必须让它能找到你的自签名证书才行。

备注:内容来源于stack exchange,提问作者Human

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 11:32:36