apk 签名 v1 是强制性的吗?

问题描述

我已使用 apksigner 工具签署了一个 apk 文件,其中标志 v1-signing-enabled 设置为 false

java -jar apksigner.jar sign --v1-signing-enabled false --key dsa-1024.pk8 --cert dsa-1024.x509.pem --in original.apk --out signed-original1.apk -v

成功签署apk。

但是当我验证它时,它失败了

java -jar apksigner.jar verify --in signed-original1.apk -v

DOES NOT VERIFY ERROR: Missing META-INF/MANIFEST.MF

v1 签名(jar 签名)是强制性的吗?

谢谢

解决方法

v1 签名不保护 APK 的某些部分,例如 ZIP 元数据。 APK 验证器需要处理大量不受信任(尚未验证)的数据结构,然后丢弃签名未涵盖的数据。这提供了一个相当大的攻击面。此外,APK 验证程序必须解压缩所有压缩条目,消耗更多时间和内存。为了解决这些问题,Android 7.0 引入了 APK Signature Scheme v2。

来源:Look at Documentation Here

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...