Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 16115|Svar: 2

Løsning til at fange pakker efter Android 7.0 ukendte og ugyldige certifikater

[Kopier link]
Opslået på 18/03/2019 21.38.06 | | | |
baggrund

Når man bruger pakkefangstsoftware (tag Charles som eksempel) til at fange HTTPS-anmodningen fra APP'en, har både Android og Charles installeret certifikatet korrekt, men pakkefangsten fejler, og der rapporteres en fejl:

Client SSL-håndtryk mislykkedes: Et ukendt problem opstod under behandlingen af certifikatet (certificate_unknown)



Årsag

Efter Android7.0 er CA-certifikatet, der som standard er tilføjet systemet, ikke tillidsfuldt:

For at levere en mere ensartet og sikker oplevelse på tværs af Android-økosystemet, begyndende med Android Nougat, stoler kompatible enheder kun på de standardiserede system-CA'er, der vedligeholdes i AOSP .


Dokumentationslink:https://android-developers.googl ... ed-certificate.html

Det betyder, at for apps baseret på SDK24 og derover, selv hvis du har et certifikat fra pakkefangningsværktøjet installeret på din telefon, vil du ikke kunne fange https-forespørgsler.

opløsning

1. Officiel løsning (kodeændring påkrævet)

Officiel dokumentation:https://developer.android.google ... ecurity-config.html
Detaljeret demonstration:https://blog.csdn.net/mrxiagc/article/details/75329629

2. Installer certifikatet for pakkefangstsoftwaren som et systemcertifikat (ROOT påkrævet)

Systemcertifikatmappe: /system/etc/security/cacerts/

Navngivningskonventionen for hvert certifikat er som følger:
<Certificate_Hash>. <Number>

Filnavnet er en hashværdi, mens suffikset er et tal.

Filnavnet kan beregnes med følgende kommando:


For eksempel, hvis hashværdien beregnet af to certifikater er den samme, kan suffiksnummeret for det ene certifikat sættes til 0, og suffiksnummeret på det andet certifikat kan sættes til 1

Trin:

Brug ovenstående kommando til at beregne hashværdien af pakkefangstsoftwarens certifikat, omdøb det og kopier det til systemets certifikatmappe



På nuværende tidspunkt burde du kunne se dit nyligt tilføjede certifikat under Systemfanen Indstillinger - > Sikkerhed - > Kryptering & Legitimationsoplysninger - > Betroede Legitimationsoplysninger







Tidligere:Front-end JavaScript-interviewfærdigheder
Næste:Hvordan implementerer man verifikationskode på landingssiden?????
Opslået på 19/03/2019 09.13.25 |
Må jeg spørge ejeren, nogle applikationer og app'er fejler i at fange pakker gennem proxyer, jeg ved ikke, hvordan jeg løser det?
Opslået på 06/09/2019 22.55.58 |
Se på chefen
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com