如您所知,有两种用于签署 APK 文件的模式。(V1(Jar 签名)和 V2(完整 APK 签名)。)
我手头有一个 APK 文件,想知道它是否包含 V1 或 V2 或两者都包含。是否有 CLI 工具可供我使用?
如您所知,有两种用于签署 APK 文件的模式。(V1(Jar 签名)和 V2(完整 APK 签名)。)
我手头有一个 APK 文件,想知道它是否包含 V1 或 V2 或两者都包含。是否有 CLI 工具可供我使用?
Android SDK 工具有一个名为的工具apksigner
,可让您验证签名。
请参阅https://developer.android.com/studio/command-line/apksigner#options-verify
$ apksigner verify --print-certs --verbose app-name.apk
您可以在以下位置找到二进制文件:[Path to Android SDK]/build-tools/28.0.3/apksigner
(替换28.0.3
您拥有的任何版本的构建工具)
使用此存储库可以轻松验证每个 apk 签名。
例子:
$ ./print-apk-signature kodi-18.3-Leia-arm64-v8a.apk
Verifies
Verified using v1 scheme (JAR signing): true
Verified using v2 scheme (APK Signature Scheme v2): false
Number of signers: 1
Signer #1 certificate DN: CN=XBMC Foundation, OU=Android platform, O=XBMC Foundation, L=US, ST=US, C=us
Signer #1 certificate SHA-256 digest: f517b44b5db5e62a6c1ec55ba47526db7de0d61f6ba26a7987520e293499b8d5
Signer #1 certificate SHA-1 digest: 5cd9110c3d8e066324615d1279fb93a13c78d666
Signer #1 certificate MD5 digest: f9f0fe227fadf5c961400472a7e962ca
Signer #1 key algorithm: RSA
Signer #1 key size (bits): 2048
Signer #1 public key SHA-256 digest: 20ab9f102104a30fdf3859fb6b4f4033f7c98f7584530f8aeb46badb5a6bcd97
Signer #1 public key SHA-1 digest: 1b6455e869e679ebb65e0ca4b3cd0ab322e6da44
Signer #1 public key MD5 digest: 441b9aab27029f7a953cd16c2d20f525