我想通过TLS接收TCP连接.我想要验证客户端证书,并使用它对应用程序的客户端进行身份验证. 围棋有标准的crypto/tls套餐.它可以验证客户端/服务器证书.但是我找不到方法来获取远程(客户端)证书的详细信息,比如通用名称.

推荐答案

我得打crypto/tls/Conn.Handshake. 然后可以读取对端证书: tlsconn.ConnectionState().PeerCertificates[0].Subject.CommonName

Go相关问答推荐

Golang regexpp:获取带有右括号的单词

Go程序在并发Forking 循环中停留在syscall.Wait4

读取JSON数据并在网页上显示

仅呈现一个模板的GIN Web应用程序

错误.如果它包含切片,则返回FALSE

使用一元或服务器流将切片从GRPC服务器返回到客户端

GoFR HTTP服务初始化中Open遥测传输和超时配置的说明

使用Digitorus/pdfsign在GO(Golang)中签署pdf文件

Golang String

无法使用exec从管道中读取.Go中的命令

Go 中将 int 切片转换为自定义 int 切片指针类型的函数

如何在 Go msgraph-sdk-go 中转发消息并包括抄送和/或密送收件人?

如果值为 false,gRPC 不返回布尔值

使用 Grafana alert 在几分钟内重复alert

Go gmail api 快速入门导致本地主机拒绝连接 ERR_CONNECTION_REFUSED

Go 泛型:自引用接口约束

github.com/rs/zerolog 字段的延迟判断

传递上下文的最佳方式

Go:为一组单个结果实现 ManyDecode

Go 1.18 泛型如何使用接口定义新的类型参数