Certificado de plataforma

Estoy renunciando a aplicaciones en una imagen del sistema de una manera similar a: Renunciando a la imagen del sistema en un dispositivo .

Lo que estoy tratando de averiguar es cómo Android verifica estas aplicaciones. En la compilación estándar de Android, el certificado de la plataforma está autofirmado: plataforma.x509.pem . Supongo y espero que este certificado se implemente como un archivo en algún lugar del dispositivo.

Por ejemplo, en mi sistema de prueba, la imagen framework-res.apkestá firmada con un certificado autofirmado con el número de serie d20995a79c0daad6, pero este certificado no se encuentra en ningún lugar /system/etc/security/cacerts.

Mi pregunta es cómo Android conoce el certificado de la plataforma, suponiendo que no esté grabado en alguna parte.

EDICIÓN n.º 1: pegué la identificación de la clave del asunto en lugar del número de serie.

EDICIÓN n.º 2: busqué en toda la imagen certificados codificados con PEM, encontré algunos pero aún no certifiqué la plataforma. También busqué la codificación DER del número de serie, pero no tuve suerte.

Respuestas (1)

Finalmente pude identificar y finalmente cambiar el certificado de la plataforma en un emulador y un dispositivo de prueba parcheando los siguientes archivos:

/datos/sistema/paquetes.xml

  • Contiene un volcado hexadecimal del certificado de plataforma codificado DER
  • Contiene la clave pública codificada PEM del certificado de la plataforma

/system/etc/security/mac_permission.xml

  • Contiene un volcado hexadecimal del certificado de plataforma codificado DER