2016-01-17 3 views
1

Я успешно настроил прокси-сервер Charles на своей главной машине, чтобы я мог просматривать трафик SSL с моего виртуального устройства Android, когда запрос поступает из браузера или из большинства приложений Android на виртуальном устройстве , Тем не менее, я не вижу трафика SSL от одного конкретного приложения. Когда это приложение запрашивает SSL-запросы, записи отображаются в Чарльзе как «SSL-квитирование: получено фатальное предупреждение: handshake_failure»SSL Proxy работает со всеми приложениями, но один

Поскольку я могу перехватить трафик SSL из других приложений, я думаю, что, возможно, это приложение как-то игнорирует пользователь принял корневой сертификат. Это возможно? Если это так, можно ли его обойти?

ответ

3

Возможно, приложение, которое не работает, использует проверку открытого ключа (разблокировка открытого ключа AKA) во время его рукопожатия SSL. Это механизм безопасности, который предназначен для предотвращения атаки «человек в середине». Я думаю, что настройка прокси в середине изменяет цепочку сертификатов, переданных клиенту во время рукопожатия, и именно по этой причине он терпит неудачу.

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

на открытых ключей пиннинга: https://en.wikipedia.org/wiki/HTTP_Public_Key_Pinning https://www.owasp.org/index.php/Certificate_and_Public_Key_Pinning

Я надеюсь, что это помогает.