Подключение к локально работающему серверу SignalR .netcore через эмулятор Android - PullRequest
0 голосов
/ 19 февраля 2019

У меня есть сервер .netcore SignalR, работающий локально через ISS express.(https://localhost:44372/secureChat")

У меня работает Android-эмулятор через Android Studio.

Для ссылки на локальные вещи через эмулятор вы используете ip 10.0.2.2.

I'mс помощью пакета android пакета microsoft signalR: com.microsoft.signalr: signalr

Я использую hubConnectionBuilder для подключения к: https://10.0.2.2:44372/secureChat

Когда я пытаюсь подключиться, я получаю следующую ошибку: java.lang.RuntimeException: java.security.cert.CertificateException: java.security.cert.CertPathValidatorException: доверенный якорь для пути сертификации не найден.

Я нашел решения в Интернете, но ни одно из них не относится к SignalR или соединениям с сокетом.

В качестве альтернативы у меня также есть веб-сайт, который подключается к локальному серверу signalR, и когда я запускаю веб-сайт локально, а затем размещаю его в приложении WebView in android, он работает нормально (веб-просмотр подключен по адресу https://10.0.2.2:3000), но я пытаюсь поэкспериментировать с подключением напрямую с Android без веб-просмотра.

У кого-нибудь естьЛюбая идея, что мне нужно сделать, чтобы решить эту проблему?

1 Ответ

0 голосов
/ 07 марта 2019

Проблема в том, что ваш эмулятор Android не доверяет самозаверяющему сертификату iis express, экспортирует сертификат в файл, загружает в эмулятор и, следуя этой ссылке, добавляет сертификат https://support.google.com/nexus/answer/2844832?hl=en

...