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

标签 ssl grpc

目前我想公开一个 gRPC 方法作为公共(public) API 并受 Auth0(JWT token )保护,Istio(Envoy 代理)将有助于在服务器端验证 token 。由于 JWT Token 没有被标准加密(它仅用于最终用户身份验证和授权层),我想使用 TLS 加密通信。另外,我的公共(public)服务器已经有有效的证书。

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

谢谢, 阿贡

最佳答案

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

关于ssl - 如何在没有服务器证书的情况下配置通过 TLS 传输层通信的 gRPC 客户端?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52500939/

相关文章:

python - gRPC Python thread_pool 与 max_concurrent_rpcs

google-api - 谷歌 gRPC 网关 : Overriding response fields?

go - 如何创建证书链

android - 桌面版 Chrome 中的正 SSL 受信任,但不适用于 Android

wordpress - Wordpress 切换到 HTTPS 后图像未加载(但图像链接工作正常)

php - var_dump() 不适用于 gRPC Protobuf 类的实例

java - TLS 1.2 + Java 1.6 + BouncyCaSTLe

java - Web服务客户端身份验证导致Tomcat异常

python - 如何从python中的gRPC客户端关闭gRPC服务器?

转到 gRPC 流范围