登录
首页 >  Golang >  Go问答

客户端获取传输层安全信息

来源:stackoverflow

时间:2024-02-02 15:40:16 193浏览 收藏

欢迎各位小伙伴来到golang学习网,相聚于此都是缘哈哈哈!今天我给大家带来《客户端获取传输层安全信息》,这篇文章主要讲到等等知识,如果你对Golang相关的知识非常感兴趣或者正在自学,都可以关注我,我会持续更新相关文章!当然,有什么建议也欢迎在评论留言提出!一起学习!

问题内容

net/http go 包有一个类型请求,它定义了一个保存 ConnectionState 的字段 TLS。不过,描述中的最后一条语句表示它被 HTTP 客户端忽略。我在调试时也检查过,它是 nil

我需要从该连接状态(或其他位置)获取值 TLSUnique,以便我可以将其包含在我的证书请求(又名 CSR)中,然后才能注册/将其发送到服务器。

服务器超出了我的问题范围。我关心的是客户。

然后,服务器收到请求,并检查 CSR 的签名以及 TLS 唯一值,证明建立 TLS 连接的客户端与签署 CSR 的客户端是同一客户端。

这是来自 RFC 7030 - 第 3.5 节(EST 协议)的内容

[我正在使用的]

我正在试验 GlobalSign EST Go 软件包,但它们似乎不包含此功能。

他们的 EST 客户端似乎为每个 EST 操作创建一个 http 客户端,我想我可以改变这种行为并拥有一个客户端来发送所有请求。

但是,由于客户端接受 RoundTripper 接口,因此我无法在实现之外使用底层连接的信息。


正确答案


一种方法需要对 进行一些小的更改全局符号EST包.

就像我之前所说的,当前的实现为每个 EST 操作(CACerts、CSRAttrs、Enroll 等)创建一个新的 http 客户端

1- 让我们为所有 EST 操作使用一个 http 客户端。
2- 无论哪种方式,我们都需要在注册 CSR 之前调用以获取 CA 证书。
3-对任何客户端请求的http响应都会公开字段http.Response.TLS.TLSUnique
4- 让客户端将其包含在证书请求中,对其进行签名并注册。

当我想到 全局符号 EST 包以及为什么他们选择每次创建一个新的 http 客户端。
(除非只是等待根据用户意愿使用的示例)

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于Golang的相关知识,也可关注golang学习网公众号。

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