6

在使用设备所有者应用程序配置设备时,我想使用签名校验和而不是包校验和。该应用程序将从 http 服务器下载。

这篇文章在使用 EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_CHECKSUM 时很棒:预配 Android Lollipop 时出现校验和错误

但我想使用 EXTRA_PROVISIONING_DEVICE_ADMIN_SIGNATURE_CHECKSUM。请参阅:https ://developer.android.com/reference/android/app/admin/DevicePolicyManager.htm

配置应用程序和设备所有者应用程序都将在 Android O 上运行。

如何获取可在 NFC 的键/值对中使用的应用程序的签名校验和?

4

1 回答 1

9

试试这个

keytool -list -printcert -jarfile [path_to_your_apk] | grep -Po "(?<=SHA256:) .*" | xxd -r -p | openssl base64 | tr -d '=' | tr -- '+/=' '-_'

详细说明:

  • keytool -list -printcert -jarfile [path_to_your_apk]提取有关 APK 证书的信息,
  • grep -Po "(?<=SHA256:) .*" | xxd -r -p获取 SHA256 哈希并将其转换为二进制,
  • openssl base64用base64对其进行编码,
  • tr -d '=' | tr -- '+/=' '-_'使其 URL 安全(+编码为-/编码为_并删除填充字符=)。
于 2017-06-30T09:17:44.400 回答