grpc/go 如何在 grpc.Dial 中设置 grpc.ssl_target_name_override
grpc/go how to set grpc.ssl_target_name_override in grpc.Dial
我目前正在尝试在 go 中测试 ssl/tls grpc 客户端和服务器之间的身份验证。不确定如何通过 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)
}
我必须在 NewClientTLSFromFile 函数中将 serverNameOverride 值设置为 xxx.xxx.net,这解决了问题。
// Create the client TLS credentials
creds, err := credentials.NewClientTLSFromFile("cert.pem", "xxx.xxx.net")
if err != nil {
panic(err)
}
我目前正在尝试在 go 中测试 ssl/tls grpc 客户端和服务器之间的身份验证。不确定如何通过 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)
}
我必须在 NewClientTLSFromFile 函数中将 serverNameOverride 值设置为 xxx.xxx.net,这解决了问题。
// Create the client TLS credentials
creds, err := credentials.NewClientTLSFromFile("cert.pem", "xxx.xxx.net")
if err != nil {
panic(err)
}