HTTPS GET (SSL) с Android и самозаверяющим сертификатом сервера
Я посмотрел в различные сообщения о том, как получить что-то черезHTTPS
на Android, с сервера, который использует самозаверяющий сертификат. Тем не менее, ни один из них, кажется, не работает - все они не в состоянии удалить
javax.net.ssl.SSLException: Сообщение о сертификате недоверенного сервера.
Невозможно изменить сервер для получения доверенного сертификата, а также нельзя настроить сертификат сервера на соответствие IP-адресу сервера.
Обратите внимание, что у сервера не будет DNS-имени, у него будет только IP-адрес. Запрос GET выглядит примерно так:
https://username:password@anyIPAddress/blabla/index.php?param=1¶m2=3
Я полностью осознаю, что это решение подвержено атакам «человек посередине» и т. Д.
Таким образом, решение должно игнорировать отсутствие доверия к сертификату и игнорировать несоответствие имени хоста.
Кто-нибудь знает код, который делает это, используя Java для Android?
Есть много попыток объяснить это наstackoverflow.comи множество фрагментов кода, но, похоже, они не работают, и никто, насколько я вижу, не предоставил ни одного блока кода, который бы это решал. Было бы интересно узнать, действительно ли кто-то решил эту проблему или Android просто блокирует сертификаты, которым не доверяют.