grpc/go 如何在 grpc 中设置grpc.ssl_target_name_override。

我目前正在尝试测试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


潇湘沐
浏览 133回答 1
1回答

墨色风雨

我必须将serverNameOverride值设置为NewClientTLSFromFile函数中的 xxx.xxx.net,这解决了这个问题。// Create the client TLS credentials    creds, err := credentials.NewClientTLSFromFile("cert.pem", "xxx.xxx.net")    if err != nil {        panic(err)    }
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go