#okhttp #grpc-java
#okhttp #grpc-java
Вопрос:
В приложении для 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 не будет использовать эту ссылку на класс.
Есть ли способ создать gRPC ManagedChannel
, поддерживающий TLS 1.3?
Ответ №1:
Если вы не разбираетесь в реализации Google, вы можете использовать gRPC-клиент Wire. Он будет выполнять TLSv1.3 на устройствах, которые его поддерживают. Или используйте его с Conscrypt для TLSv1.3 на любом устройстве.
Комментарии:
1. Я даже не рассматривал различные реализации клиента. Спасибо, что указали мне на работоспособный вариант!
Ответ №2:
Решено> Начиная с версии io.grpc 1.43.2, существует другой метод построения канала с версией TLS и наборами шифров в качестве параметров. Используя это, я смог создать соединение по протоколу TLS 1.3.
((OkHttpChannelBuilder) channelBuilder).tlsConnectionSpec(tlsVersions, cipherSuites);