如何获取APK的签名校验和?

Ste*_*etz 2 android provisioning device-policy-manager device-owner android-for-work

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

在使用Android Lollipop时使用EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_CHECKSUM:校验和错误时,这篇文章很棒

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

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

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

Fre*_*red 6

试试这个

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

详情如下:

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

  • 作为参考,这里是 [关于 V2 签名的新问题](/sf/ask/3139916671/已回答的仅与该 v2-sc 签名)。 (2认同)