我正在尝试将 PKI 证书添加到 HTTP 客户端,以便它发出的所有请求都通过它们正在与之交谈的服务进行身份验证。我可以通过执行以下命令来实例化 HTTP 客户端:client := &http.Client{ Transport: &http.Transport{ Proxy: http.ProxyFromEnvironment, TLSClientConfig: &tls.Config{ // TLS Implementation } }}这使用默认RoundTripper实现,其中包括一个TLS配置部分。但是,TLS 配置似乎在客户端和服务器之间共享。我需要添加哪些设置才能调用其他 PKI 服务?
1 回答
侃侃尔雅
TA贡献1801条经验 获得超15个赞
似乎只需要将Certificates
属性添加到 TLS 配置中:
Certificates: []tls.Certificate{cert}
cert
可以使用辅助函数创建的位置:
cert, err := tls.LoadX509KeyPair(*certFile, *keyFile)
其中certFile
和keyFile
是指向pem
磁盘上文件的两个字符串。正如 Peter 所提到的,您也可以实施GetClientCertificate
,但这对于实施 PKI 支持是不必要的。
- 1 回答
- 0 关注
- 100 浏览
添加回答
举报
0/150
提交
取消