apksigner v1 方案:false

apksigner v1 scheme: false

我已从其他来源 (apkfollow.com) 下载了一个 apk 文件以获取我的银行应用程序的旧版本。我有 运行 apksigner 针对此 apk 文件如下:

apksigner verify --verbose --print-certs <my-app-name>.apk 
Verifies
Verified using v1 scheme (JAR signing): false
Verified using v2 scheme (APK Signature Scheme v2): true
Verified using v3 scheme (APK Signature Scheme v3): true

问题:

  1. 为什么v1方案是false?较新的 Android 版本是否不再需要它?
  2. 我可以信任这个 apk 吗?如果显示 Verifies,是否表示该 apk 文件是该应用程序的官方未修改版本(假设我知道 public key/certificate 具有正确的已知摘要)?

只要第一行是“Verifies”,就可以相信*这个 APK。

下面的其他行是关于实施了何种级别的签名的一些详细信息:v1 签名方案(a.k.a JAR 签名)比 v2 和 v3 签名方案弱,如果您有 minSdkVersion 24+,则它是可选的,这样就可以解释为什么不存在 v1 签名方案。


* 请注意,这并没有告诉您是谁签名的,只是它在“某人”签名后没有被修改。您必须查看证书以确保它是由您期望的人签署的。