如何在没有服务器证书的情况下配置通过TLS传输层通信的gRPC客户端?

时间:2018-09-25 14:43:42

标签: ssl grpc

当前,我想将gRPC方法公开为公共API并受Auth0(JWT令牌)保护,使用Istio(Envoy代理)将有助于在服务器端验证令牌。由于JWT令牌未按标准加密(仅用于最终用户身份验证和授权层),因此我想使用TLS加密通信。另外,我的公共服务器已经具有有效的证书。

问题出在gRPC客户端。我看到的每个示例,gRPC客户端都必须使用服务器cert pem文件初始化TLS连接。真的有必要吗?因为它增加了操作负担和复杂性,所以每次我们续订证书时都必须在其中分发服务器pem文件,并且/或者客户端必须重新启动应用程序。

谢谢, 阿贡

2 个答案:

答案 0 :(得分:0)

如果使用的是自签名证书,则必须在客户端中明确信任它。如果您在服务器上使用公共签名的证书,则gRPC将使用操作系统的证书颁发机构来验证证书。 (对于Java,它使用JVM的证书颁发机构。)

答案 1 :(得分:0)

如果您使用的是自签名证书,则需要在创建通道时传递的pem_root_certs结构的SslCredentialsOptions成员的pem_root_certs成员中指定服务器的根证书。

但是,如果您使用的是CA颁发的证书,将COMPUTE AVG OF height ON REPORT; SELECT name, height || ' ft' FROM buildings; >>> NAME HEIGHT ======== ========= A1 1,000 ft **** --------- avg 500 ft 成员保留为空将导致gRPC to default to its own master listreviewable online),not any OS-specific list

相关问题