Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 16115|Risposta: 2

Soluzione per catturare i pacchetti dopo Android 7.0 certificati sconosciuti e invalidi

[Copiato link]
Pubblicato su 18/03/2019 21:38:06 | | | |
sfondo

Quando si utilizza un software di acquisizione dei pacchetti (prendendo Charles come esempio) per catturare la richiesta https dell'APP, sia Android che Charles hanno installato correttamente il certificato, ma la cattura dei pacchetti fallisce e viene segnalato un errore:

Handshake SSL del client fallito: si è verificato un problema sconosciuto nell'elaborazione del certificato (certificate_unknown)



Causa

Dopo Android7.0, il certificato CA aggiunto di default al sistema non è più affidabile:

Per offrire un'esperienza più coerente e sicura in tutto l'ecosistema Android, a partire da Android Nougat, i dispositivi compatibili si fidano solo delle CA di sistema standardizzate mantenute in AOSP .


Link alla documentazione:https://android-developers.googl ... ed-certificate.html

Questo significa che per le app basate su SDK24 e superiori, anche se hai un certificato dello strumento di acquisizione pacchetti installato sul telefono, non potrai catturare le richieste https.

soluzione

1. Soluzione ufficiale (modifica del codice necessaria)

Documentazione ufficiale:https://developer.android.google ... ecurity-config.html
Dimostrazione dettagliata:https://blog.csdn.net/mrxiagc/article/details/75329629

2. Installare il certificato del software di cattura pacchetti come certificato di sistema (ROOT richiesto)

Directory certificati di sistema: /system/etc/security/cacerts/

La convenzione di denominazione per ogni certificato è la seguente:
<Certificate_Hash>. <Number>

Il nome del file è un valore hash, mentre il suffisso è un numero.

Il nome del file può essere calcolato con il seguente comando:


Ad esempio, se il valore hash calcolato da due certificati è lo stesso, allora il numero di suffissi di un certificato può essere impostato a 0, e il numero di suffisso dell'altro certificato può essere impostato a 1

Passaggi:

Usa il comando sopra per calcolare il valore hash del certificato del software di cattura pacchetti, rinominalo e copialo nella directory dei certificati di sistema



Al momento, dovresti essere in grado di vedere il tuo nuovo certificato aggiunto nella scheda Sistema di Impostazioni - Sicurezza > - > Crittografia e Credenziali - > Credenziali Affidabili







Precedente:Competenze di intervista front-end in JavaScript
Prossimo:Come implementare la verifica tramite codice di verifica nella landing page?????
Pubblicato su 19/03/2019 09:13:25 |
Posso chiedere al proprietario? Alcune applicazioni e APP non riescono a catturare i pacchetti tramite proxy, non so come risolvere il problema.
Pubblicato su 06/09/2019 22:55:58 |
Guarda il capo
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com