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

如何在go mod download/go get中使用替代CA且不加入系统信任存储?

在go mod download/go get中使用自定义CA证书(无需添加到系统永久信任存储)

我需要在执行go mod download或go get命令时使用替代CA证书,但不想将该CA添加到系统的永久信任CA存储中。

适用场景包括:

  • 公司IT部门通过Cisco Umbrella这类系统处理TLS流量,其自带CA不在系统默认CA存储中(比如部分Linux发行版的/etc/ssl/certs/ca-bundle.crt,或Chrome、Firefox等浏览器的内置CA)
  • 部署由可信内部CA签名的Go模块

遇到的错误

我近期碰到了第一种场景的问题,执行命令后出现证书验证失败:

$ go mod download -x all
.
.
# get https://proxy.golang.org/golang.org/x/term/@v/v0.3.0.mod: Get "https://proxy.golang.org/golang.org/x/term/@v/v0.3.0.mod": x509: certificate signed by unknown authority

期望的功能

我想找到类似wget的--ca-certificate参数的用法,让Go命令能指定额外CA证书,比如:

wget --ca-certificate Cisco_Umbrella_Root_CA.cer https://proxy.golang.org/golang.org/x/crypto/@v/v0.4.0.mod

已尝试的方法及问题

根据相关提示,我尝试设置SSL_CERT_FILE环境变量,但问题依旧:

env SSL_CERT_FILE=/usr/ports/security/age/tmp/20221230/Cisco_Umbrella_Root_CA-plus-sys.crt go mod download -x all
.
.
# get https://proxy.golang.org/golang.org/x/crypto/@v/v0.4.0.mod: Get "https://proxy.golang.org/golang.org/x/crypto/@v/v0.4.0.mod": x509: certificate signed by unknown authority

该证书文件经file命令识别为PEM格式,且在wget中能正常使用,但Go命令仍然报错。Go官方文档中关于SSL_CERT_FILE的格式说明不够清晰。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 05:15:40