Zum Inhalt springen
ecdsa.com

APK-Signaturverfahren (v1–v4)

Die Formate zum Signieren von Android-Apps: v1-JAR-Signatur, v2 (Android 7.0) und v3 (Android 9, Schlüsselrotation) als Signaturen über die ganze Datei im APK-Signaturblock, v3.1 (Android 13) für gezielte Rotation und v4 (Android 11) für inkrementelle Installationen.
Auch geschrieben alsAPK signingAPK Signature Scheme v2APK Signature Scheme v3apksigner

v2 signiert den gesamten Inhalt des APK außer dem Signaturblock selbst (Block-ID 0x7109871a); so wird jede Änderung erkannt, und die Prüfung ist schneller als die JAR-Prüfungen von v1 für jeden einzelnen Eintrag. v3 (Block-ID 0xf05368c0) ergänzt eine Rotationskette (Proof-of-Rotation-Lineage), damit eine App zu einem neuen Signaturschlüssel wechseln kann; mit v3.1 lässt sich die Rotation auf neuere Plattformversionen beschränken. v4 speichert eine Merkle-Baum-Signatur in einer separaten Datei .idsig für inkrementelle Installationen per ADB und setzt zusätzlich eine v2- oder v3-Signatur voraus.

apksigner sign und apksigner verify --print-certs beherrschen alle Verfahren; bei Google Play App Signing bleibt der App-Signaturschlüssel bei Google, hochgeladen wird mit einem separaten Upload-Schlüssel. Updates müssen mit demselben Schlüssel oder einem rotierten Nachfolger signiert sein, sonst schlägt die Installation fehl. Der APK-Signaturinspektor listet Verfahren, Signierer und Rotationskette auf.

Standards und Quellen

Alle Begriffe