fons
Izmantojot pakešu uztveršanas programmatūru (piemēram, Čārlzs), lai uztvertu APP https pieprasījumu, gan Android, gan Čārlzs ir pareizi instalējuši sertifikātu, taču pakešu uztveršana neizdodas, un tiek ziņots par kļūdu:
Klienta SSL rokasspiediens neizdevās: radās nezināma problēma, apstrādājot sertifikātu (certificate_unknown)
Cēlonis
Pēc Android7.0 sistēmai pēc noklusējuma pievienotais CA sertifikāts nav uzticams:
Lai nodrošinātu konsekventāku un drošāku pieredzi visā Android ekosistēmā, sākot ar Android Nougat, saderīgās ierīces uzticas tikai standartizētajām sistēmas CA, kas tiek uzturētas AOSP .
Dokumentācijas saite:https://android-developers.googl ... ed-certificate.html
Tas nozīmē, ka lietotnēm, kuru pamatā ir SDK24 un jaunāka versija, pat ja tālrunī ir instalēts pakešu uztveršanas rīka sertifikāts, jūs nevarēsiet tvert https pieprasījumus.
šķīdums
1. Oficiālais risinājums (nepieciešama koda modifikācija)
Oficiālā dokumentācija:https://developer.android.google ... ecurity-config.html Detalizēta demonstrācija:https://blog.csdn.net/mrxiagc/article/details/75329629
2. Instalējiet pakešu uztveršanas programmatūras sertifikātu kā sistēmas sertifikātu (nepieciešams ROOT)
Sistēmas sertifikātu direktorijs: /system/etc/security/cacerts/
Katra sertifikāta nosaukuma piešķiršanas konvencija ir šāda:
<Certificate_Hash>. <Number> Faila nosaukums ir jaucējvērtība, bet sufikss ir skaitlis.
Faila nosaukumu var aprēķināt ar šādu komandu:
Piemēram, ja divu sertifikātu aprēķinātā jaucējvērtība ir vienāda, tad viena sertifikāta sufiksa numuru var iestatīt uz 0, bet otra sertifikāta sufiksa numuru var iestatīt uz 1
Soļi:
Izmantojiet iepriekš minēto komandu, lai aprēķinātu pakešu uztveršanas programmatūras sertifikāta jaucējvērtību, pārdēvējiet to un kopējiet to sistēmas sertifikātu direktorijā
Šobrīd jums vajadzētu redzēt savu tikko pievienoto sertifikātu cilnē Sistēma sadaļā Iestatījumi - > Drošība - > Šifrēšana un akreditācijas dati - > Uzticamie akreditācijas dati
|