1

Je voudrais utiliser la somme de contrôle de signature au lieu de la somme de contrôle de paquet lors du provisionnement d'un périphérique avec une application de propriétaire de périphérique. L'application sera téléchargée à partir d'un serveur http.Comment puis-je obtenir la somme de contrôle de signature de mon APK?

Ce poste est idéal lors de l'utilisation EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_CHECKSUM: Checksum Error while provisioning Android Lollipop

Mais je voudrais utiliser EXTRA_PROVISIONING_DEVICE_ADMIN_SIGNATURE_CHECKSUM. Voir: https://developer.android.com/reference/android/app/admin/DevicePolicyManager.htm

L'application de provisionnement et application propriétaire de l'appareil sera à la fois sur être en cours d'exécution sur Android O.

Comment puis-je obtenir la somme de contrôle de la signature de mon application que je peux utiliser dans ma paire clé/valeur pour NFC ?

Répondre

3

Essayez cette

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

détails:

  • keytool -list -printcert -jarfile [path_to_your_apk] informations des extraits sur le certificat de l'APK,
  • grep -Po "(?<=SHA256:) .*" | xxd -r -p prend le hachage SHA256 et le convertit en binaire,
  • openssl base64 l'encode avec base64,
  • tr -d '=' | tr -- '+/=' '-_' le rend sûr d'URL (+ est codé comme -, / est codé comme _ et le caractère de remplissage = est supprimé).
+0

Votre première étape renvoie «Pas un fichier jar signé». –

+0

Je signe mon APK avec le système de signature V2 puisque ces applications ne seront exécutées que sur Android O ou supérieur. Si je les signe avec le schéma de signature V1, cette méthode fonctionne très bien! Je pense que c'est une bonne réponse valable pour le système V1. Je vais ouvrir une nouvelle question plus spécifique pour le régime V2. –

+1

Pour référence, voici [la nouvelle question sur la signature V2] (https://stackoverflow.com/questions/44855952/how-do-i-get-the-signature-checksum-of-my-apk-that-is -signed-with-only-the-v2-sc) qui a été répondu. – Fred