прием HTTPS-соединений с самозаверяющими сертификатами - PullRequest
147 голосов
/ 06 января 2010

Я пытаюсь установить HTTPS-соединения, используя HttpClient lib, но проблема в том, что сертификат не подписан признанным центром сертификации (CA), таким как Verisign , GlobalSIgn и т. Д., Перечисленные в наборе доверенных сертификатов Android, я получаю javax.net.ssl.SSLException: Not trusted server certificate.

Я видел решения, в которых вы просто принимаете все сертификаты, но что, если я хочу спросить пользователя?

Я хочу получить диалоговое окно, похожее на диалоговое окно браузера, позволяющее пользователю принять решение продолжить или нет. Желательно, чтобы я использовал тот же магазин сертификатов, что и браузер. Есть идеи?

Ответы [ 12 ]

0 голосов
/ 01 апреля 2012

Это проблема, связанная с отсутствием поддержки SNI (идентификация имени сервера) в A, ndroid 2.x. Я боролся с этой проблемой в течение недели, пока не наткнулся на следующий вопрос, который не только дает хорошее представление о проблеме, но также обеспечивает рабочее и эффективное решение без каких-либо пробелов в безопасности.

Ошибка «Нет сертификата пира» в Android 2.3, но НЕ в 4

0 голосов
/ 05 июля 2011

Может быть, это будет полезно ... это работает на клиентах Java, использующих самозаверяющие сертификаты (проверка сертификата не производится). Будьте осторожны и используйте его только для случаев разработки, потому что это совсем не безопасно !!

Как игнорировать ошибки сертификата SSL в Apache HttpClient 4.0

Надеюсь, это будет работать на Android, просто добавив библиотеку HttpClient ... удачи !!

...