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

Windows 11下Git Clone因SSL证书被拒,已信任CA仍无法解决

解决Git Bash克隆Azure DevOps仓库的SSL证书信任问题

一、核心原因:Git Bash不默认读取Windows证书存储

你在Windows证书管理器里加了全链路证书但没用,本质是Git Bash依赖的是OpenSSL独立证书库,和Windows系统的证书存储不共享。按以下步骤配置即可解决:

  1. 导出公司根CA为PEM格式证书

    • 打开certmgr.msc,找到已安装的公司根CA证书
    • 右键→所有任务→导出,选择「Base-64编码X.509(.CER)」格式,保存为company-root-ca.pem(比如存到C:\certs目录)
  2. 配置Git指向该证书文件
    在Git Bash中执行命令:

    # 全局生效(所有仓库共用该配置)
    git config --global http.sslCAInfo "C:/certs/company-root-ca.pem"
    # 仅当前仓库生效(先进入目标仓库目录再执行)
    git config http.sslCAInfo "C:/certs/company-root-ca.pem"
    

    注意路径要使用正斜杠/,不要用Windows默认的反斜杠\。

  3. 验证配置生效
    执行git config --global --get http.sslCAInfo(全局配置)或git config --get http.sslCAInfo(当前仓库配置),确认输出的证书路径正确后,再尝试git clone操作。

二、为什么企业环境常采用sslVerify false绕过验证?

  • 配置成本极低:很多运维或开发人员不清楚Git Bash与Windows证书存储的差异,绕过验证是最快解决问题的方式,无需折腾证书导出、Git参数配置等步骤。
  • 技术门槛低:不是所有团队成员都了解SSL证书链逻辑和Git的证书配置规则,统一告知“关闭验证”比逐个指导配置更高效。
  • 环境变动频繁:企业内部可能频繁更换证书、调整代理规则,绕过验证可以避免反复更新证书配置的麻烦。
  • 安全意识不足:部分企业认为内部环境风险低,对中间人攻击的危害认知不足,觉得绕过验证不会有问题。

但这种方式存在明显安全风险,可能导致中间人攻击窃取数据,建议优先采用正确的证书配置方式。

内容的提问来源于stack exchange,提问作者Pragmateek

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 13:02:37