为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Go
吃鸡游戏 2023-05-15 15:34:41
我正在尝试将 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)

其中certFilekeyFile是指向pem磁盘上文件的两个字符串。正如 Peter 所提到的,您也可以实施GetClientCertificate,但这对于实施 PKI 支持是不必要的。


查看完整回答
反对 回复 2023-05-15
  • 1 回答
  • 0 关注
  • 83 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信