我目前正在尝试测试grpc客户端和服务器之间的ssl / tls身份验证。不知道如何通过grpc.ssl_target_name_override(https://grpc.github.io/grpc/core/group__grpc__arg__keys.html#ga218bf55b665134a11baf07ada5980825)在客户端创建通道时,当前看到以下内容:“传输:身份验证握手失败:x509:证书对 xxx.xxx.net 有效,而不是本地主机” // Create the client TLS credentials creds, err := credentials.NewClientTLSFromFile("cert.pem", "") if err != nil { panic(err) } conn, err := grpc.Dial("localhost:8080", grpc.WithTransportCredentials(creds)) if err != nil { panic(err) }我看到其他语言的文档:https://grpc.github.io/grpc/cpp/classgrpc_1_1_channel_arguments.html#a42313e3360b50c354c68572e7bf5bccb
1 回答
墨色风雨
TA贡献1853条经验 获得超6个赞
我必须将serverNameOverride值设置为NewClientTLSFromFile函数中的 xxx.xxx.net,这解决了这个问题。
// Create the client TLS credentials
creds, err := credentials.NewClientTLSFromFile("cert.pem", "xxx.xxx.net")
if err != nil {
panic(err)
}
- 1 回答
- 0 关注
- 132 浏览
添加回答
举报
0/150
提交
取消