【问题标题】:How to manually verify apk signatures and compare signing keys如何手动验证 apk 签名并比较签名密钥
【发布时间】:2020-04-29 10:28:21
【问题描述】:

假设我有两个 .apk 文件,据说来自同一个开发人员。 如何验证它们是否使用相同的密钥签名? 如何验证密钥是否属于开发者?

在哪个 Android 下载中存在正确的工具? 我似乎没有找到它 commandlinetools-linux-6200805_latest.zip 也不 android-studio-ide-192.6392135-linux.tar.gz

【问题讨论】:

    标签: android linux shell command-line


    【解决方案1】:

    您需要 apksigner 工具来验证 apk。

    您有两种选择:


    1) 下载 Android Studio 中的 SdkManger 提供的最新构建工具。 - 见指令https://developer.android.com/studio/intro/update#sdk-manager


    2) 手动下载: - 前往https://developer.android.com/studio#downloads 并选择命令行工具 适用于您的操作系统的软件包(例如,单击 mac 操作系统的“commandlinetools-mac-6200805_latest.zip”按钮)

    • 同意以上条款并下载命令行工具

    • 解压命令行工具(您将收到名为“工具”的文件夹)

    • 转到 tools/bin 文件夹

    • 执行cmd > ./sdkmanager --list --sdk_root=''

    ('sdk_root' 参数可以是 android sdk 的路径,如果没有则为空)

    • 查找最后一个构建工具版本。就我而言: "build-tools;29.0.3 | 29.0.3 | Android SDK Build-Tools 29.0.3"

    • 执行cmd > ./sdkmanager "build-tools;29.0.3" --sdk_root=''

    (将构建工具下载到当前文件夹)



    后续步骤:

    • 何时拥有 /build-tools/29.0.3/apksigner cmd 工具
    • 执行cmd > ./apksigner verify -v --print-certs /Users/you/Desktop/my_app.apk

    (我从包含 apksigner 文件的文件夹中执行 cmd) - 您将收到如下信息:

    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
    Number of signers: 1
    Signer #1 certificate DN: CN=Android, OU=Android, O=Google Inc., L=Mountain View, ST=California, C=US
    Signer #1 certificate SHA-256 digest: f0fd6c5b410f25cb25c3b53346c8972fae30f8ee7411df910480ad6b2d60db83
    Signer #1 certificate SHA-1 digest: 38918a453d07199354f8b19af05ec6562ced5788
    Signer #1 certificate MD5 digest: cde9f6208d672b54b1dacc0b7029f5eb
    Signer #1 key algorithm: RSA
    Signer #1 key size (bits): 2048
    Signer #1 public key SHA-256 digest: 2b06490d2d24305c6a90dbf74cc42f50183d207d572f8079e5d92fb2c2a0cda1
    Signer #1 public key SHA-1 digest: b2da9ef7ec0f4474117fb0cba4dca3b795c0eab7
    Signer #1 public key MD5 digest: a90ce510a96aa09bee6bf8d9da9b258b
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-05-26
      • 1970-01-01
      • 2022-01-07
      • 1970-01-01
      • 2013-08-17
      • 2013-06-23
      • 2019-10-04
      • 1970-01-01
      相关资源
      最近更新 更多