Estoy probando el Esquema de firma APK v4 introducido en Android 11. Uso el apksigner del Sdk de Android y parece funcionar bien: firma el .apk y genera el archivo .idsig como se espera:
$ apksigner sign -v --ks ~/keystore.jks --ks-key-alias testkey app.apk
Keystore password for signer #1:
Signed
$ ls
app.apk app.apk.idsig
Sin embargo, cuando utilizo la misma herramienta apksigner para verificar la firma, sale lo siguiente:
$ apksigner verify -v ./app.apk
Verifies
Verified using v1 scheme (JAR signing): true
Verified using v2 scheme (APK Signature Scheme v2): true
Verified using v3 scheme (APK Signature Scheme v3): true
Verified using v4 scheme (APK Signature Scheme v4): false
Verified for SourceStamp: false
Number of signers: 1
WARNING: META-INF/com/android/build/gradle/app-metadata.properties not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/.
... # and a bunch of other v1-related warnings
Así que verifica con éxito basándose en el APK Signature Scheme v3 y no tiene en cuenta el .idsig en absoluto (modificar el archivo .idsig no afecta al resultado de la verificación). Espero que Verified using v4 scheme (APK Signature Scheme v4):
para ser también true
.
¿Me estoy perdiendo algo?