Как реализовать ssl рукопожатие двумя способами в Android Java - PullRequest
0 голосов
/ 31 октября 2019

Я пытаюсь подключиться к серверу Python через grpc на Android Java. Я добавил сертификат сервера в мой клиент Android, и, следовательно, мой клиент может отправить запрос grpc на мой сервер Python (клиент не отправляет какую-либо ошибку ssl, как это было до того, как я реализовал сервер). ca), но мой сервер python возвращает сообщение «сбой рукопожатия с фатальной ошибкой ssl_error_ssl». Я полагаю, что проблема заключается в том, что «я использую двухстороннюю проверку подлинности ssl на моем python-сервере, и в моем клиенте java для Android я проверяю только то, что сервер действительно правильный, но не отправляю клиентский ca. Мой вопросКак я могу отправить клиент CA на сервер?

Я попытался выполнить поиск по stackoverflow, попытался добавить клиент CA в CA зарегистрированного сервера. Я использую эту библиотеку дляпомогите мне.

SSLContext sslContext = SslUtils.getSslContextForCertificateFile(this, "server.crt");
private ManagedChannel mChannel = OkHttpChannelBuilder.forAddress("MyPC", 5051).sslSocketFactory(sslContext.getSocketFactory()).build();
blockingStub = io.grpc.test.newBlockingStub(mChannel);
io.grpc.test.func req= io.grpc.test.func.newBuilder().settest("HelloWorld!").build();
io.grpc.test.func res = blockingStub.function(req);

server.crt - это сертификат сервера, который находится в моей папке ресурсов.

Мне нужно каким-то образом реализовать двух способ рукопожатия SSL вклиент.

...