Instalar certificado raíz del sistema¶
Esta interfaz se utiliza para instalar un certificado raíz a nivel de sistema en su sistema Android, y es compatible con todas las versiones de Android.
Puede que haya cierta confusión sobre qué son el certificado raíz y el certificado de servicio de FIRERPA. El certificado de servicio de FIRERPA se utiliza para cifrar el tráfico de comunicación entre FIRERPA y usted, mientras que el certificado raíz al que nos referimos aquí es el certificado raíz integrado en el sistema Android. Este certificado se utiliza para el cifrado y descifrado del tráfico relacionado con HTTPS en el sistema. Si está familiarizado con la captura de paquetes (packet sniffing), el certificado raíz aquí es el certificado utilizado para la captura de paquetes. Puede implementar la captura de paquetes man-in-the-middle (MITM) utilizando la interfaz de este capítulo junto con la interfaz para configurar un proxy. Por supuesto, también puede optar por utilizar nuestro script encapsulado startmitm.py. Aquí solo pretendemos presentarle la implementación de esta funcionalidad básica.
Preparativos¶
Asegúrese de tener listo el certificado proporcionado por Fiddler o mitmproxy. Para mitmproxy, el certificado que debe usar es mitmproxy-ca-cert.pem. Para Fiddler, puede que esté en formato CRT. Debería poder exportar este archivo desde Fiddler y simplemente proporcionar la ruta del archivo como parámetro, sin preocuparse por la conversión de nombres de archivo. Para evitar perder tiempo innecesariamente, recomendamos usar mitmproxy. Si está utilizando Charles u otras herramientas similares, no podemos garantizar que pueda completar la configuración de una sola vez, ya que la configuración de estas aplicaciones es más compleja y es posible que necesite comprender varios tipos de configuración para configurar correctamente el man-in-the-middle de HTTPS. Si insiste en usarlo, se recomienda utilizar SOCKS5 de Charles como protocolo de proxy.
Instalar certificado raíz¶
Una vez que tenga la ruta del archivo de certificado preparado, puede usar directamente la siguiente interfaz para instalar el certificado raíz de mitmproxy. Una vez instalado, permanecerá de forma permanente y no necesitará ser reinstalado.
d.install_ca_certificate(cert_path)
Desinstalar certificado raíz¶
Puede llamar al siguiente código para eliminar el certificado raíz personalizado instalado en el dispositivo. No recomendamos instalar y desinstalar con frecuencia; si no es necesario, puede evitar llamar a esta interfaz.
d.uninstall_ca_certificate(cert_path)
El código completo es el siguiente (no volveremos a instanciar el dispositivo d)
import os
# Construir la ruta al archivo mitmproxy-ca-cert.pem
HOME = os.path.expanduser("~")
cert_path = os.path.join(HOME, ".mitmproxy", "mitmproxy-ca-cert.pem")
# Tomando mitmproxy como ejemplo, use el siguiente código para instalar el certificado man-in-the-middle
d.install_ca_certificate(cert_path)
# Use el siguiente código para desinstalar el certificado
d.uninstall_ca_certificate(cert_path)
Esta interfaz de instalación y desinstalación de certificados es genérica. Puede usarla para instalar cualquier certificado que una aplicación le solicite, como los de Fiddler/Charles, simplemente proporcionando la ruta del archivo. Si su objetivo es la captura de paquetes, puede consultar la sección Configurar proxy para establecer el proxy en la dirección de escucha de la aplicación man-in-the-middle.