Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Dans cet article, vous allez découvrir comment utiliser la signature manuelle de code pour Android (APK). Vous devrez signer votre application pour Android si vous avez sélectionné Android comme l’une des plates-formes lors de la création et de la création de votre projet d’inclusion dans un wrapper.
Important
Si vous souhaitez plutôt signer une application AAB pour la distribution Google Play, reportez-vous à Signer votre application.
Préparation de votre ordinateur
Vous devrez également fournir les informations suivantes pour commencer :
- Configurer Android Studio
- Configurer OpenSSL
- Configurer l’outil apksigner
Prérequis
- Nom de l’application pour la création de la clé de hachage.
- Fichier APK le plus récent pour le processus de signature.
Génération de clés
Nonte
Passer à signer le package APK si vous avez déjà généré des clés et un hachage de signature lors de la création de l’enregistrement de l’application.
Nous utiliserons keytool.exe (disponible après l’installation de Android Studio, à partir de l’emplacement du dossier « Lecteur:\Program Files\Android\Android Studio\jre\bin\keytool.exe ») pour créer un certificat pour signer le package d’application. Keytool est utilisé pour gérer un magasin de clés (base de données) de clés cryptographiques, de chaînes de certificats X.509 et de certificats de confiance.
Si vous n’avez pas de variables d’environnement, ouvrez une invite de commandes et exécutez la commande suivante pour générer une clé :
- Télécharger Android Studio, openssl
- Ajoutez keytool et openssl comme variable d’environnement. Ajoutez C:\Program Files\Android\Android Studio\jbr\bin en tant que variable d’environnement. Ajoutez le chemin d’accès d’openssl.exe dans la variable d’environnement (C:\Program Files\OpenSSL-Win64\bin)
- Exécutez cette commande---keytool -genkey -alias powerappswrap -keyalg RSA -keystore powerappswrap.jks -keysize 2048 -validity 10000 Generate Keys
- Exécutez cette commande dans cmd - keytool -exportcert -alias powerappswrap -keystore powerappswrap.jks | openssl sha1 -binary | openssl base64 Générer le hachage de signature
Si vous avez des variables d’environnement, ouvrez une invite de commandes et exécutez la commande suivante pour générer une clé :
keytool -genkey -alias SIGNATURE_ALIAS -keyalg RSA -keystore PATH_TO_KEYSTORE -keysize 2048 -validity 10000
Paramètres :
- genkey – commande pour générer une clé.
- alias : indique l’alias à utiliser à l’avenir pour faire référence à l’entrée du magasin de clés contenant les clés qui sont générées.
- keyalg – nom de l’algorithme de clé.
- keystore – nom du magasin de clés que vous utilisez.
- keysize – taille de chaque clé à générer.
- validity – validité de la clé en nombre de jours.
Exemple :
Si vous préparez Key Vault, PATH_TO_KEYSTORE devrait avoir l’extension .pfx.
keytool -genkey -alias powerappswrap -keyalg RSA -keystore powerappswrap.pfx -keysize 2048 -validity 10000
Si vous préparez une signature manuelle, PATH_TO_KEYSTORE doit avoir l’extension .jks.
keytool -genkey -alias powerappswrap -keyalg RSA -keystore \Users\name\Desktop\powerappswrap.jks -keysize 2048 -validity 10000
Générer le hachage de signature
Note
Passer à signer le package APK si vous avez déjà généré des clés et un hachage de signature lors de la création de l’enregistrement de l’application.
Après avoir généré la clé, nous utiliserons la commande exportcert dans keytool pour exporter le certificat du magasin de clés.
keytool -exportcert -alias SIGNATURE_ALIAS -keystore PATH_TO_KEYSTORE | openssl sha1 -binary | openssl base64
Paramètres :
- exportcert – lit depuis le magasin de clés le certificat associé à l’alias et le stocke dans le fichier cert_file. Lorsqu’aucun fichier n’est spécifié, le certificat est sorti sur stdout.
- alias – alias utilisé lors de la génération des clés précédemment.
- keystore – nom du magasin de clés que vous utilisez.
- openssl – génère la clé SHA1 pour Android.
Ajoutez le hachage de signature généré dans l’URI de redirection pendant l’enregistrement de l’application.
Convertir manuellement l’hexadécimal SHA1 en hachage de signature encodé en Base64
Vous pouvez voir l’erreur suivante si votre hachage de signature n’est pas correctement encodé ou inacceptable dans le portail Azure :
« Le hachage de signature doit être SHA1 encodé en base64. »
Lorsque cette erreur apparaît, essayez plutôt de générer le hachage de signature en procédant comme suit :
- Exécutez
keytool -list -v -alias SIGNATURE_ALIAS -keystore PATH_TO_KEYSTORE
pour répertorier les informations de certificat en mode détaillé. - Copiez la valeur SHA1 sous la section Empreintes de certificat à partir du résultat. Assurez-vous de ne copier que la valeur hexadécimale.
Par exemple :EF:11:45:3D:F1:72:D9:8C:43:32:CD:0A:49:C2:E4:75:2D:B3:2D:9F
- Utilisez n’importe quel convertisseur « Hexadécimal vers Base64 » disponible pour convertir la valeur hexadécimale de l’empreinte de certificat copiée en valeur codée en Base64.
Exemple de la valeur encodée Base64 :8CPPeLaz9etdqQyaQubcqsy2Tw=
- Copiez la valeur encodée en Base64 générée en tant que Hachage de signature dans le portail Azure pendant l’enregistrement de l’application.
Signature manuelle du package APK
Nonte
Ces étapes sont nécessaires si vous n’avez pas encapsulé l’application à l’aide de la connexion automatique ou si vous essayez de télécharger un fichier AAB pour le Play Store. Pour éviter de répéter cette étape, nous vous recommandons d’utiliser la connexion automatique.
Pour signer le package APK, nous utiliserons l’outil apksigner. Cet outil vous permet de signer des APK et de vous assurer que la signature du package APK sera vérifiée avec succès sur toutes les plates-formes Android prises en charge par les APK.
Rechercher votre apksigner
Vérifiez le chemin d’accès au SDK Android dans Android Studio.
Sélectionnez Outil>Gestionnaire de SDK>Emplacement du SDK Android.
Si vous utilisez iOS, vérifiez le fichier apksigner à partir du répertoire buildTools Version :
Accédez au répertoire SDK>build-tools>buildToolsVersion>lib et vérifiez le fichier apksigner.jar
Utiliser le fichier apksigner
Exécutez la commande suivante pour utiliser apksigner et signez le package :
apksigner.bat sign --ks PATH_TO_KEYSTORE --ks-key-alias KEY_ALIAS PATH_TO_APK
Paramètres :
- ks – chemin d’accès au magasin de clés.
- ks-key-alias – chemin d’accès à l’alias de clé vers le fichier APK.
À l’invite, entrez le mot de passe.
Plus d’informations : Outils de ligne de commande Android Studio : apksigner
Distribuer l’application
Pour distribuer à l’aide de Microsoft Intune, consultez Ajouter une application cœur de métier Android à Microsoft Intune. Pour en savoir plus sur l’octroi d’un accès à une application au service Intune App Protection, consultez Accordez à votre application l’accès au service Intune App Protection.