2013-04-06 1 views
4

Я использую HTTPS в своем приложении для Android, чтобы общаться с моим собственным API. Когда я обнюхиваю пакет, я не вижу никакой информации, которая бы хороша. Однако, когда я использую программное обеспечение, такое как Fiddler2 для установки доверенного сертификата на моем Android, я могу видеть все мои вызовы HTTPS в ясном, что опасно.Android предотвращает попадание человека в середине для SSL

Проблема настолько близко к этому парню, но в Android не iPhone: hiding iOS HTTPS calls from fiddler

Я использую loopj библиотеку, чтобы сделать мои HTTPS звонки: Android Asynchronous HTTP Client http://loopj.com/android-async-http/

Как я могу иметь дело с такая уязвимость? (Я знаю, как иметь дело с ним концептуально, но мне нужен пример кода)

ответ

10

Когда пользователь решает установить сертификат Fiddler2 в качестве доверенного корневого сертификата, он затем пытается скомпрометировать свою собственную безопасность. Я не уверен, что вы можете с этим справиться, так как соединение HTTPS вашего приложения будет проходить через систему проверки сертификатов Android, которая будет рассматривать связь как действительную, так как сертифицированная доверена.

Решение, на которое я хотел бы обратить внимание, заключается в том, чтобы внедрить ваш сертификат SSL в ваше приложение и сообщить своему приложению, что он является единственным доверенным сертификатом. Это безопасно и бесплатно, так как вы можете прикрепить самозаверяющий сертификат, созданный вами, поскольку вы контролируете механизм проверки. См. this blog article для примера кода.

+0

Thank man. Извините, что слишком долго, чтобы принять ваш ответ, мне просто пришлось сначала его протестировать. Одна вещь tho, В блоге есть пароль (myseceret) на простом. Он должен был зашифровать его, потому что APKtool показывал строки – AlAsiri

Смежные вопросы