arrière-plan
Lors de l’utilisation d’un logiciel de capture de paquets (prenant Charles comme exemple) pour capturer la requête https de l’application, Android et Charles ont tous deux installé correctement le certificat, mais la capture échoue et une erreur est signalée :
Échouement de la poignée de main SSL du client : Un problème inconnu est survenu lors du traitement du certificat (certificate_unknown)
Cause
Après Android7.0, le certificat d’AC ajouté au système par défaut n’est plus fiable :
Pour offrir une expérience plus cohérente et plus sécurisée dans l’ensemble de l’écosystème Android, en commençant par Android Nougat, les appareils compatibles ne font confiance qu’aux autorités de certification standardisées du système maintenues dans AOSP .
Lien de documentation :https://android-developers.googl ... ed-certificate.html
Cela signifie que pour les applications basées sur SDK24 et versions supérieures, même si vous avez un certificat de capture de paquets installé sur votre téléphone, vous ne pourrez pas capturer de requêtes https.
solution
1. Solution officielle (modification du code requise)
Documentation officielle :https://developer.android.google ... ecurity-config.html Démonstration détaillée :https://blog.csdn.net/mrxiagc/article/details/75329629
2. Installer le certificat du logiciel de capture de paquets en tant que certificat système (ROOT requis)
Répertoire des certificats système : /system/etc/security/cacerts/
La convention de dénomination pour chaque certificat est la suivante :
<Certificate_Hash>. <Number> Le nom du fichier est une valeur de hachage, tandis que le suffixe est un nombre.
Le nom du fichier peut être calculé avec la commande suivante :
Par exemple, si la valeur de hachage calculée par deux certificats est la même, alors le suffixe d’un certificat peut être fixé à 0, et le nombre de suffixes de l’autre certificat à 1
Étapes :
Utilisez la commande ci-dessus pour calculer la valeur de hachage du certificat du logiciel de capture de paquets, renommez-le, puis copiez-le dans le répertoire du certificat système
À ce stade, vous devriez pouvoir voir votre nouveau certificat ajouté dans l’onglet Système de Paramètres - Sécurité > - > Chiffrement & Identifiants - > Identifiants de confiance
|