登录
首页 >  Golang >  Go问答

如何将 PKI 证书添加到 Go HTTP 请求?

来源:stackoverflow

时间:2024-03-17 18:18:28 193浏览 收藏

在向 HTTP 服务发送请求时,为确保身份验证,需要向 HTTP 客户端添加 PKI 证书。通过在 TLS 配置中添加“certificates”属性,并使用“LoadX509KeyPair”函数加载证书和密钥文件,可以将 PKI 证书添加到客户端。

问题内容

我正在尝试将 pki 证书添加到 http 客户端,以便它发出的所有请求都经过与它们正在通信的服务的身份验证。我可以通过执行以下命令来实例化 http 客户端:

client := &http.Client{
    Transport: &http.Transport{
        Proxy:                 http.ProxyFromEnvironment,
        TLSClientConfig: &tls.Config{
            // TLS Implementation
        }
    }
}

这使用默认的 roundtripper 实现,其中包括 tls 配置部分。然而,tls 配置似乎在客户端和服务器之间共享。我需要添加哪些设置才能调用其他 pki 服务?


解决方案


看来只需将 certificates 属性添加到 tls 配置即可:

certificates: []tls.certificate{cert}

可以使用辅助函数创建 cert

cert, err := tls.LoadX509KeyPair(*certFile, *keyFile)

其中 certfilekeyfile 是指向磁盘上 pem 文件的两个字符串。正如 peter 提到的,您还可以实现 getclientcertificate,但这对于实现 pki 支持是不必要的。

本篇关于《如何将 PKI 证书添加到 Go HTTP 请求?》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于Golang的相关知识,请关注golang学习网公众号!

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