Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 16115|Відповідь: 2

Рішення для виявлення пакетів після невідомих і недійсних сертифікатів Android 7.0

[Копіювати посилання]
Опубліковано 18.03.2019 21:38:06 | | | |
тло

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

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



Причина

Після Android7.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

Кроки:

Використовуйте наведену вище команду, щоб обчислити хеш-значення сертифіката програмного забезпечення для захоплення пакетів, перейменувати його та скопіювати до каталогу системних сертифікатів



На цей момент ви повинні бачити свій новий доданий сертифікат у вкладці System у розділі Settings - > Security - > Encryption and Credentals - > Trusted Credentals







Попередній:Навички співбесіди на JavaScript фронтенду
Наступний:Як реалізувати перевірку коду верифікації на цільовій сторінці?????
Опубліковано 19.03.2019 09:13:25 |
Чи можу я запитати власника, деякі додатки та додатки не можуть захоплювати пакети через проксі, я не знаю, як це вирішити?
Опубліковано 06.09.2019 22:55:58 |
Подивись на боса
Застереження:
Усе програмне забезпечення, програмні матеріали або статті, опубліковані Code Farmer Network, призначені лише для навчання та досліджень; Вищезазначений контент не повинен використовуватися в комерційних чи незаконних цілях, інакше користувачі несуть усі наслідки. Інформація на цьому сайті надходить з Інтернету, і спори щодо авторських прав не мають до цього сайту. Ви повинні повністю видалити вищезазначений контент зі свого комп'ютера протягом 24 годин після завантаження. Якщо вам подобається програма, будь ласка, підтримуйте справжнє програмне забезпечення, купуйте реєстрацію та отримайте кращі справжні послуги. Якщо є будь-яке порушення, будь ласка, зв'яжіться з нами електронною поштою.

Mail To:help@itsvse.com