登录
首页 >  Golang >  Go问答

Docker go image - 无法获取 - x509:由未知权威签署的证书

来源:Golang技术栈

时间:2023-04-11 20:40:16 115浏览 收藏

大家好,我们又见面了啊~本文《Docker go image - 无法获取 - x509:由未知权威签署的证书》的内容中将会涉及到golang等等。如果你正在学习Golang相关知识,欢迎关注我,以后会给大家带来更多Golang相关文章,希望我们能一起进步!下面就开始本文的正式内容~

问题内容

在 docker golang 图像中,我正在尝试go install打包并因此错误而失败:

go install google.golang.org/protobuf/cmd/protoc-gen-go@1.27.0: google.golang.org/protobuf/cmd/protoc-gen-go@1.27.0: invalid version: Get "https://proxy.golang.org/google.golang.org/protobuf/cmd/protoc-gen-go/@v/1.27.0.info": x509: certificate signed by unknown authority

我尝试安装 CA 证书失败

知道可能是什么问题吗?

正确答案

好的,问题出在我的安全客户端:Cisco AnyConnect“Umbrella”。

它就像中间人一样,用自己的证书重新签署请求。

为了让 in-docker go 客户端信任 Cisco Umbrella 重新签名的流量,需要将“Cisco Umbrella Root CA”证书添加到 docker 文件中:

Cisco Umbrella
证书链

所以点击 .cer URI 我们可以看到该证书。

现在在我的容器内我可以:

$ wget http://www.cisco.com/security/pki/certs/ciscoumbrellaroot.cer

然后将其转换.cer.crt文件:

$ openssl x509 -inform DER -in ciscoumbrellaroot.cer -out ciscoumbrellaroot.crt

然后将其复制到证书文件夹:

$ cp ciscoumbrellaroot.crt /usr/local/share/ca-certificates/ciscoumbrellaroot.crt

最后更新证书:

$ update-ca-certificates

输出这个:

Updating certificates in /etc/ssl/certs...
1 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d...
done.

完毕!现在我们可以去获取任何包裹:

$ go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.27.1
go: downloading google.golang.org/protobuf v1.27.1

这是关于 cisco 安全客户端的文章,但可以应用于任何客户端

今天关于《Docker go image - 无法获取 - x509:由未知权威签署的证书》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于golang的内容请关注golang学习网公众号!

声明:本文转载于:Golang技术栈 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>