Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 16115|Ответ: 2

Решение для обнаружения пакетов после неизвестных и недействительных сертификатов Android 7.0

[Скопировать ссылку]
Опубликовано 18.03.2019 21:38:06 | | | |
фон

При использовании программного обеспечения для захвата пакетов (например, Чарльза) для захвата https-запроса APP, и Android, и Charles установили сертификат правильно, но захват пакетов не проходит, и сообщается об ошибке:

Клиентское SSL-рукопожатие не удалось: возникла неизвестная проблема при обработке сертификата (certificate_unknown)



Причина

После Android 7.0 сертификат CA, добавленный в систему по умолчанию, не считается доверенным:

Чтобы обеспечить более последовательный и безопасный опыт во всей экосистеме Android, начиная с Android Nougat, совместимые устройства доверяют только стандартизированным системным CA, поддерживаемым в AOSP .


Ссылка на документацию:https://android-developers.googl ... ed-certificate.html

Это означает, что для приложений на базе SDK24 и выше, даже если у вас установлен сертификат инструмента захвата пакетов на телефоне, вы не сможете захватывать https-запросы.

решение

1. Официальное решение (требуется изменение кода)

Официальная документация:https://developer.android.google ... ecurity-config.html
Подробная демонстрация:https://blog.csdn.net/mrxiagc/article/details/75329629

2. Установить сертификат программного обеспечения захвата пакетов в виде системного сертификата (требуется ROOT)

Каталог системных сертификатов: /system/etc/security/cacerts/

Конвенция наименования каждого сертификата следующая:
<Certificate_Hash>. <Number>

Имя файла — это хеш-значение, а суффикс — число.

Имя файла можно вычислить с помощью следующей команды:


Например, если хеш-значение, вычисляемое двумя сертификатами, одинаково, то номер суффикса одного сертификата можно установить как 0, а суффикс другого сертификата — на 1

Шаги:

Используйте приведённую выше команду, чтобы вычислить хеш-значение сертификата программного обеспечения для захвата пакетов, переименовать его и скопировать в каталог системных сертификатов



На данный момент вы должны увидеть свой недавно добавленный сертификат во вкладке «Системы» раздела «Настройки — > Безопасность — > Шифрование и учетные данные > Доверенные учетные данные







Предыдущий:Навыки собеседования на JavaScript на фронт-энде
Следующий:Как реализовать проверку кода проверки на целевой странице?????
Опубликовано 19.03.2019 9:13:25 |
Можно спросить у владельца, некоторые приложения и приложения не могут захватывать пакеты через прокси, я не знаю, как это решить?
Опубликовано 06.09.2019 22:55:58 |
Посмотри на босса
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com