Я просмотрел различные сообщения о том, как получить что-то через HTTPS
на Android, с сервера, который использует самозаверяющий сертификат. Тем не менее, ни один из них, похоже, не работает - все они не удаляютHTTPS GET (SSL) с 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 просто блокирует сертификаты, которым не доверяют.
Ни один из них работал для меня (усугубляются ошибка Thawte, а не видят HTTP: // бит .ly/bypAk2). В конце концов я получил исправление с http://stackoverflow.com/questions/1217141/self-signed-ssl-acceptance-android и http://stackoverflow.com/questions/2899079/custom-ssl-handling-stopped-working- on-android-2-2-froyo –