Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 16115|Antwoord: 2

Oplossing om pakketten te vangen na Android 7.0 onbekende en ongeldige certificaten

[Link kopiëren]
Geplaatst op 18-03-2019 21:38:06 | | | |
achtergrond

Bij het gebruik van packet capture-software (neem Charles als voorbeeld) om het https-verzoek van de APP vast te leggen, hebben zowel Android als Charles het certificaat correct geïnstalleerd, maar faalt de packet capture en er wordt een foutmelding gemeld:

Client SSL-handshake mislukte: Er deed zich een onbekend probleem voor bij het verwerken van het certificaat (certificate_unknown)



Oorzaak

Na Android7.0 wordt het standaard aan het systeem toegevoegde CA-certificaat niet meer vertrouwd:

Om een consistentere en veiligere ervaring te bieden in het Android-ecosysteem, te beginnen met Android Nougat, vertrouwen compatibele apparaten alleen op de gestandaardiseerde systeem-CA's die in AOSP worden onderhouden .


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

Dit betekent dat voor apps gebaseerd op SDK24 en hoger, zelfs als je een certificaat van de packet capture-tool op je telefoon hebt geïnstalleerd, je geen https-verzoeken kunt vastleggen.

oplossing

1. Officiële oplossing (codewijziging vereist)

Officiële documentatie:https://developer.android.google ... ecurity-config.html
Gedetailleerde demonstratie:https://blog.csdn.net/mrxiagc/article/details/75329629

2. Installeer het certificaat van de pakketvangsoftware als systeemcertificaat (ROOT vereist)

Systeemcertificaatdirectory: /system/etc/security/cacerts/

De naamgevingsconventie voor elk certificaat is als volgt:
<Certificate_Hash>. <Number>

De bestandsnaam is een hashwaarde, terwijl het achtervoegsel een getal is.

De bestandsnaam kan worden berekend met het volgende commando:


Als bijvoorbeeld de hashwaarde berekend door twee certificaten hetzelfde is, kan het achtervoegsel van het ene certificaat worden ingesteld op 0, en het achtervoegselnummer van het andere certificaat op 1

Stappen:

Gebruik het bovenstaande commando om de hashwaarde van het certificaat van de pakketvangsoftware te berekenen, hernoem het en kopieer het naar de systeemcertificaatmap



Op dit moment zou je je nieuw toegevoegde certificaat moeten kunnen zien in het tabblad Systeem van Instellingen - > Beveiliging - > Versleuteling & Inloggegevens - > Vertrouwde Inloggegevens







Vorig:Front-end JavaScript-interviewvaardigheden
Volgend:Hoe voer je verificatiecodeverificatie uit op de landingspagina?????
Geplaatst op 19-03-2019 09:13:25 |
Mag ik het aan de eigenaar vragen? Sommige applicaties en app's slagen er niet in om pakketten via proxies vast te leggen, ik weet niet hoe ik dat moet oplossen?
Geplaatst op 06-09-2019 22:55:58 |
Kijk naar de baas
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com