Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 16115|Respuesta: 2

Solución para capturar paquetes después de Android 7.0 certificados desconocidos e inválidos

[Copiar enlace]
Publicado en 18/3/2019 21:38:06 | | | |
fondo

Al usar software de captura de paquetes (tomando Charles como ejemplo) para capturar la solicitud https de la APP, tanto Android como Charles han instalado correctamente el certificado, pero la captura falla y se reporta un error:

Fallo en el handshake SSL del cliente: Ocurrió un problema desconocido al procesar el certificado (certificate_unknown)



Causa

Después de Android7.0, el certificado de CA añadido al sistema por defecto no es de fiar:

Para ofrecer una experiencia más coherente y segura en todo el ecosistema Android, empezando por Android Nougat, los dispositivos compatibles solo confían en las CAs estandarizadas del sistema mantenidas en AOSP .


Enlace de documentación:https://android-developers.googl ... ed-certificate.html

Esto significa que para aplicaciones basadas en SDK24 o superiores, incluso si tienes instalado un certificado de la herramienta de captura de paquetes en tu teléfono, no podrás capturar solicitudes https.

solución

1. Solución oficial (se requiere modificación del código)

Documentación oficial:https://developer.android.google ... ecurity-config.html
Demostración detallada:https://blog.csdn.net/mrxiagc/article/details/75329629

2. Instalar el certificado del software de captura de paquetes como certificado del sistema (se requiere ROOT)

Directorio de certificados del sistema: /system/etc/security/cacerts/

La convención de denominación para cada certificado es la siguiente:
<Certificate_Hash>. <Number>

El nombre del archivo es un valor hash, mientras que el sufijo es un número.

El nombre del archivo puede calcularse con el siguiente comando:


Por ejemplo, si el valor hash calculado por dos certificados es el mismo, entonces el número de sufijo de un certificado puede fijarse en 0, y el número de sufijo del otro certificado en 1

Pasos:

Utiliza el comando anterior para calcular el valor hash del certificado del software de captura de paquetes, renombrarlo y copiarlo al directorio de certificados del sistema



En este momento, deberías poder ver tu certificado recién añadido en la pestaña del Sistema de Configuración - Seguridad > - > Cifrado y Credenciales - > Credenciales de confianza







Anterior:Habilidades de entrevista en JavaScript en el front-end
Próximo:¿Cómo implementar la verificación por código de verificación en la página de aterrizaje?????
Publicado en 19/3/2019 9:13:25 |
¿Puedo preguntar al propietario? Algunas aplicaciones y APPs no logran capturar paquetes a través de proxys, no sé cómo solucionarlo.
Publicado en 6/9/2019 22:55:58 |
Mira al jefe
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com