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

Windows下Git Bash执行curl命令遇SSL证书错误求助

问题描述

在Windows系统的Git Bash中执行以下curl命令:

curl -X GET  "https://emp-pp-sr.retina.myorg.net/subjects/topic.internal.any.v1-value/versions/latest"
--cert C:/Users/NGO109/Documents/decodedca.pem 
--key C:/Users/NGO109/Documents/decodedkey.pem  | jq

执行后出现SSL证书错误:

curl: (60) SSL certificate problem: unable to get local issuer certificate
curl failed to verify the legitimacy of the server and therefore could not establish a secure connection to it. To learn more about this situation and how to fix it, please visit the web page mentioned above

解决方法

指定完整CA证书链

curl无法验证服务器证书的核心原因是缺少完整的CA证书链(包含根CA及中间CA证书),操作步骤:

  • 确认你的decodedca.pem是否包含服务器证书的所有上级颁发机构证书,若仅为客户端证书,需单独获取目标服务器的CA证书链文件
  • 在curl命令中添加--cacert参数指定完整CA链文件:
curl -X GET  "https://emp-pp-sr.retina.myorg.net/subjects/topic.internal.any.v1-value/versions/latest"
--cert C:/Users/NGO109/Documents/decodedca.pem 
--key C:/Users/NGO109/Documents/decodedkey.pem
--cacert C:/Users/NGO109/Documents/full_ca_chain.pem | jq

临时跳过证书验证(仅测试环境)

若为测试场景,可临时关闭证书验证,生产环境严禁使用:

curl -X GET  "https://emp-pp-sr.retina.myorg.net/subjects/topic.internal.any.v1-value/versions/latest"
--cert C:/Users/NGO109/Documents/decodedca.pem 
--key C:/Users/NGO109/Documents/decodedkey.pem
-k | jq

-k参数会让curl跳过服务器证书合法性检查。

配置Git Bash全局CA证书

将CA证书链添加到Git Bash默认CA存储,一劳永逸解决同类问题:

  • 找到Git Bash的CA证书文件,通常路径为C:\Program Files\Git\mingw64\ssl\certs\ca-bundle.crt
  • 用文本编辑器打开该文件,将你的CA证书内容追加至文件末尾
  • 保存后重启Git Bash,再执行原命令即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 22:20:01