У меня есть проект студии Android, который вызывает веб-службу api. Когда код службы находится в dev, qa, prod и т.д., Нет никаких проблем с сертификатами, но при попытке попасть в панель разработчиков api для тестирования новой функции/исправления ошибок/и т.д. Я получаю:
Нет ответа из-за ошибки:
javax.net.ssl.SSLHandshakeException: ошибка проверки цепочки
на com.android.org.conscrypt.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:361)
У меня был сам подписанный сертификат, экспортированный с машины разработчиков служб БЕЗ закодированного секретного ключа DER. Я упал на эмулятор, и он "установлен", но это не сработало.
Я взял тот же сертификат выше и скопировал его на эмулированную SD-карту. Затем устанавливается из настроек безопасности в эмуляторе. Тот же результат. Ошибка проверки цепочки.
Теперь мои знания в области безопасности/сертификата очень просты. Я думаю, что ошибка действительно описывает проблему. В самоподписанном сертификате нет цепи... но я мог ошибаться.
Независимо от того, как мне обойти это?
Я хочу иметь возможность запускать свой код Android и попадать в поле разработчиков для тестирования/отладки и т.д.
Я прочитал сообщение вроде этого только для того, чтобы иметь корпоративную среду, в которой я блокирую сайты для открытых SSL и т.д.
Я получаю доступ к сервису через WebView.
Приветствуется любая помощь, указатели, идеи.
ТИА
Я получал
javax.net.ssl.SSLHandshakeException: Chain validation failed
и
java.security.cert.CertPathValidatorException: Response is unreliable: its validity interval is out-of-date
решение, которое работало для меня, заключалось в том, чтобы заставить холодную загрузку эмулятора через Диспетчер виртуальных устройств → Выпадающее меню Actions → Cold Boot Now
Просто перезагрузка эмулятора решила эту ошибку. Длительно нажмите кнопку выключения питания в меню эмулятора и выберите "Перезагрузка".
HttpUrlConnection
?WebView
? Что-то другое?