Я просмотрел различные сообщения о том, как получить что-то через HTTPS
на Android, с сервера, который использует самозаверяющий сертификат. Однако ни один из них, похоже, не работает - все они не удаляют
javax.net.ssl.SSLException: сообщение сертификата несертифицированного сервера.
Невозможно изменить сервер, чтобы иметь доверенный сертификат, а также не может сделать сертификат сервера соответствующим IP-адресу сервера.
Обратите внимание, что сервер не будет иметь DNS-имя, оно будет иметь только IP-адрес. Запрос GET выглядит примерно так:
https://username:[email protected]/blabla/index.php?param=1¶m2=3
Я полностью понимаю, что это решение подвержено атакам типа "человек-в-середине" и т.д.
Итак, решение должно игнорировать отсутствие доверия к сертификату и игнорировать несоответствие имени хоста.
Кто-нибудь знает код, который делает это, используя Java для Android?
Есть много попыток объяснить это на stackoverflow.com и множество фрагментов кода, но они, похоже, не работают, и никто не предоставил один блок кода, который решает это, насколько я вижу. Было бы интересно узнать, действительно ли кто-то решил это, или если Android просто блокирует сертификаты, которым не доверяют.