Эмулятор Android & ldquo; Ошибка проверки цепочки & rdquo; подключение разработчика к самозаверяющему сертификату

У меня есть проект Android Studio, который вызывает веб-службу API. Когда сервисный код находится в dev, qa, prod и т. Д. Нет проблем с сертификатами, но при попытке открыть окно разработчиков веб-API для тестирования новой функции / исправления ошибки / и т.д. я получаю:

Нет ответа из-за ошибки:

javax.net.ssl.SSLHandshakeException: проверка цепочки не удалась

на com.android.org.conscrypt.OpenSSLSocketImpl.startHandshake (OpenSSLSocketImpl.java:361)

У меня был самозаверяющий сертификат, экспортированный с машины разработчиков сервисов БЕЗ закодированного DER ключа. Я упал на эмулятор, и он «установился», но это не сработало.

Я взял тот же сертификат и скопировал его на эмулируемую SD-карту. Затем устанавливается из настроек безопасности в эмуляторе. Тот же результат. Проверка цепочки не удалась.

Теперь мои знания по безопасности / сертификатам очень просты. Я думаю, что ошибка на самом деле описывает проблему. В самозаверяющем сертификате нет цепочки ... но я могу ошибаться.

Независимо от того, как мне обойти это?

Я хочу иметь возможность запускать свой код Android и устанавливать флажок для разработчиков для тестирования / отладки и т. Д.

Я прочитал этот пост только для того, чтобы иметь корпоративную среду, в которой я блокирую сайты для открытого SSL и т. Д.

https://android.stackexchange.com/questions/61540/self-signed-certificate-install-claims-success-but-android-acts-as-if-cert-isn

Я обращаюсь к сервису через WebView.

21
задан Vadim Kotov 4 July 2019 в 10:34
поделиться

3 ответа

Я получал

javax.net.ssl.SSLHandshakeException: Chain validation failed

и

java.security.cert.CertPathValidatorException: Response is unreliable: its validity interval is out-of-date

решение, которое работало для меня, заключалось в принудительной холодной загрузке эмулятора через диспетчер виртуальных устройств -> выпадающий список действий -> холодная загрузка Теперь

13
ответ дан Caleb_Allen 4 July 2019 в 10:34
поделиться

Я уничтожил все данные эмулятора и снова загрузил его, установил приложение и все работало. Но, видя другое решение, я думаю, что теперь это может быть излишним.

0
ответ дан arenaq 4 July 2019 в 10:34
поделиться

рассмотрите, чтобы использовать альтернативное подключение к Интернету, когда Вы получили эту проблему

, у меня есть клетчатое время дата Дэна, перезапуская мой эмулятор, даже мой Mac, по-видимому, на моем случае

, эта ошибка подняла, потому что у меня есть поганое подключение к Интернету.

javax.net.ssl.SSLHandshakeException: Chain validation failed

дополнительный: Я думаю, что это исключение должно быть более явным, потому что у него есть столько спусковых механизмов

0
ответ дан 28 November 2019 в 02:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: