У меня есть сервер Python, работающий с использованием grpc, сгенерированного из созданного мной файла прото. Сервер использует двухстороннюю аутентификацию ssl, когда я запускаю клиент из файла python и вводим самозаверяющий сертификат сервера, сертификат клиента и ключ клиента, он подключается правильно, однако я пытаюсь добиться этого и в моем приложении для AndroidЯ попытался использовать для этого конструктор sslcontext и переосмыслить 3 элемента, которые я указал выше (2 сертификата и 1 ключ), которые находятся в моем «сыром» каталоге, но, похоже, он их не распознает.
private static SslContext buildSslContext(String trustFile, String clientCertFile, String clientKeyFile) throws SSLException {
return GrpcSslContexts.forClient()
.trustManager(new File(trustFile))
.keyManager(new File(clientCertFile), new File(clientKeyFile))
.build();
}
mChannel = NettyChannelBuilder.forAddress("MyServer", 5051).negotiationType(NegotiationType.TLS).sslContext(buildSslContext("server.pem","client.pem","key.pem")).build();
и я получаю эту ошибку "Причина: java.lang.IllegalArgumentException: файл не содержит действительных сертификатов: server.pem"