In base al thread di risoluzione dei problemi dei commenti per l'OP, la risposta è installare solo il certificato CA del proxy come attendibile, non il suo certificato + chiave privata.
Il problema è stato causato da due fattori:
Installazione non solo del certificato CA del proxy MiTM ma anche della sua chiave privata (consentendo così alle app VPN sul dispositivo di decrittografare / traffico di rete MiTM da altre app). Non è necessaria la chiave privata del proxy MiTM sul dispositivo.
Android Nougat modifica il comportamento del Settings -> Security -> Install from storage
flusso per i file che contengono una chiave privata oltre ai certificati. Questo cambiamento nel comportamento ha smascherato il problema precedente.
Prima di Nougat, il Settings -> Security -> Install from storage
flusso per i file contenenti una chiave privata oltre ai certificati installava erroneamente i certificati come attendibili per l'autenticazione del server (ad esempio, HTTPS, TLS, facendo in modo che il tuo MiTM abbia successo), oltre ad essere correttamente installati come certificati client utilizzati per autenticare questo dispositivo Android sui server. In Nougat, il bug è stato corretto e questi certificati non sono più installati come attendibili per l'autenticazione del server. Ciò impedisce che le credenziali di autenticazione del client influiscano (indeboliscano) la sicurezza delle connessioni ai server. Nel tuo scenario, questo impedisce al tuo MiTM di avere successo.
Ciò che complica le cose è che Settings -> Security -> Install from storage
non fornisce all'utente un modo esplicito per specificare se sta installando una credenziale di autenticazione client (chiave privata + catena di certificati) o un ancoraggio di fiducia dell'autenticazione del server (solo un certificato CA - nessuna chiave privata necessaria) . Di conseguenza, il Settings -> Security -> Install from storage
flusso indovina se si tratta di credenziali di autenticazione client / utente o trust anchor di autenticazione server, assumendo che, se viene specificata una chiave privata, deve essere una credenziale di autenticazione client / utente. Nel tuo caso, si presume erroneamente che tu stia installando una credenziale di autenticazione client / utente anziché un trust anchor di autenticazione del server.
PS Per quanto riguarda la configurazione della sicurezza di rete, dovresti probabilmente configurare l'app in modo che consideri attendibile anche i trust anchor di "sistema" in modalità debug (sezione debug-overrides). In caso contrario, le build di debug dell'app non funzioneranno a meno che le connessioni non vengano eseguite tramite MiTM da un proxy il cui certificato CA è installato come attendibile sul dispositivo Android.
user
quello in<base-config>
e vedi se cambia. Non dovrebbe, ma ci vorrà solo un momento per provare.