如何获取仅使用 v2 方案签名的 APK 的签名校验和?

问题描述 投票:0回答:2

我之前在这里发布了一个关于如何获取 APK 签名校验和的问题: 如何获取 APK 的签名校验和?

如果应用程序使用 v1 签名方案或 v1/v2 签名方案组合进行签名,那么答案是完美的。 (Jar 和完整的 APK 签名)

但是,由于我的应用程序只能在 Android O 或更高版本上运行(它是特定于设备的应用程序),因此我只会使用 APK 签名方案 v2(v2 方案)对其进行签名。

我将使用 EXTRA_PROVISIONING_DEVICE_ADMIN_SIGNATURE_CHECKSUM。请参阅:https://developer.android.com/reference/android/app/admin/DevicePolicyManager.html了解详细信息。

如何获取我的应用程序的 APK (v2) 签名校验和,以便在密钥/值对中使用它来配置设备所有者应用程序的 NFC?

android provisioning device-policy-manager device-owner android-for-work
2个回答
10
投票

在示例的基础上构建如何获取 APK 的签名校验和?您提到:

apksigner verify -print-certs [path to your apk] | grep -Po "(?<=SHA-256 digest:) .*" | xxd -r -p | openssl base64 | tr -d '=' | tr -- '+/=' '-_'

您所指的“签名校验和”是 APK 签名证书的 URL 安全 Base64 编码的 SHA-256 摘要。

apksigner verify --print-certs
打印 APK 签名证书的各种摘要,无论 APK 是 JAR 签名、APK 签名方案 v2 签名还是两者均签名。

apksigner
通过 Android SDK 构建工具
24.0.3
及更新版本进行分发(
26.0.0
除外,它意外丢失了
apksigner
)。 https://developer.android.com/studio/command-line/apksigner.html


0
投票

对于 Windows 用户来说是一个简单又好的解决方案:

https://github.com/Mohsenabn78/enterprise-checksum-calculator/releases/download/checksum/enterprise-checksum-calculator-1.0.0.msi

安装 Windows 应用程序 > 插入您的 apk 路径 > 计算校验和

© www.soinside.com 2019 - 2024. All rights reserved.