如何配置使用TLS传输层的gRPC客户端,而无需服务器证书?

4

目前我想将一个gRPC方法作为公共API公开,并由Auth0 (JWT Token)保护,使用Istio(Envoy代理)在服务器端验证令牌。由于JWT令牌不是按照标准加密的(它仅用于终端用户身份验证和授权层),因此我希望使用TLS加密通信。此外,我的公共服务器已经拥有有效的证书。

问题在于gRPC客户端方面。每个示例中,gRPC客户端都必须使用服务器证书pem文件初始化TLS连接。这真的必要吗?因为它增加了操作负担和复杂性,在我们每次更新证书和/或客户端重新启动应用程序时,我们必须分发我们的服务器pem文件。

谢谢, Agung

2个回答

1
如果您使用的是自签名证书,那么您必须在客户端明确信任它。如果您在服务器上使用公共签名证书,则gRPC将使用操作系统的证书机构来验证该证书。(在Java的情况下,它使用JVM的证书机构。)

如何设置gRPC以使用操作系统的证书机构?如果您有一些代码片段,将不胜感激。 - Agung Pratama
它会自动执行,你不需要进行任何操作来启用它。 - Carl Mastrangelo
但是是否有任何在线示例来演示如何使用公共签名证书的语法? - Lei Yang

0

第一个链接已失效。 - Lei Yang

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接