gRPC 是否支持 Android 下的 TLS 1.3?

Does gRPC support TLS 1.3 under Android?

在 Android 应用程序中,使用最新版本的 io.grpc:grpc-okhttp:1.32.1,我似乎无法与服务器建立 TLS 1.3 连接。 ConnectionSpec.MODERN_TLS 的定义是从 okhttp-2.7.4 引用的,它不包括 TLS 1.3。我看到 okhttp3 具有所需的 ConnectionSpec.MODERN_TLS 定义,但 OKHttpChannelBuilder 不会采用该 class 引用。

有没有办法创建支持 TLS 1.3 的 gRPC ManagedChannel

如果您不是特定于 Google 的实现,您可以使用 Wire 的 gRPC 客户端。它将在支持它的设备上执行 TLSv1.3。或者在任何设备上将其与 Conscrypt for TLSv1.3 一起使用。

https://square.github.io/wire/

已解决> 从 io.grpc 版本 1.43.2 开始,有一种不同的方法来构建通道,将 TLS 版本和密码套件作为参数。使用它,我能够创建 TLS 1.3 连接。

((OkHttpChannelBuilder) channelBuilder).tlsConnectionSpec(tlsVersions, cipherSuites);