Saltar al contenido
ecdsa.com

Esquemas de firma APK (v1–v4)

Los formatos de firma de aplicaciones de Android: v1, firma JAR; v2 (Android 7.0) y v3 (Android 9, rotación de claves), firmas del archivo completo en el bloque de firma de APK (APK Signing Block); v3.1 (Android 13), rotación dirigida, y v4 (Android 11), para instalaciones incrementales.
También se escribeAPK signingAPK Signature Scheme v2APK Signature Scheme v3apksigner

v2 firma todo el contenido del APK salvo el propio bloque de firma (ID de bloque 0x7109871a), así que cualquier modificación se detecta y la verificación es más rápida que las comprobaciones JAR por entrada de v1. v3 (ID de bloque 0xf05368c0) añade un linaje de prueba de rotación (proof-of-rotation) para que una aplicación pueda pasar a una nueva clave de firma; v3.1 permite que la rotación se aplique solo a versiones más recientes de la plataforma. v4 guarda una firma basada en un árbol de Merkle en un archivo .idsig aparte para las instalaciones incrementales con ADB, y además requiere una firma v2 o v3.

apksigner sign y apksigner verify --print-certs admiten todos los esquemas; la Firma de apps de Google Play guarda la clave de firma de la aplicación en Google, y los desarrolladores suben sus compilaciones con una clave de carga independiente. Las actualizaciones deben firmarse con la misma clave o con su sucesora tras una rotación; si no, la instalación falla. El inspector de firmas APK muestra los esquemas, los firmantes y el linaje.

Estándares y referencias

Todos los términos