Pour les développeurs Android qui gèrent leurs propres clés de signature, l'empreinte du certificat SHA-256 est l'identité cryptographique unique de votre application. Ce guide vous présente trois méthodes pour le récupérer à partir d'un fichier APK signé ou du keystore d'origine.
Récupérer le SHA-256 à partir d'un fichier APK
Ces méthodes sont utiles si vous disposez du fichier APK final signé, mais que vous ne pouvez pas accéder facilement au keystore d'origine ni à ses mots de passe.
Méthode 1A : Utiliser apksigner (recommandée pour les APK)
L'outil apksigner est le moyen le plus moderne et le plus fiable d'extraire les informations de signature d'un APK, qu'il utilise les schémas de signature V1, V2, V3 ou V4.
Étape 1 : Localisez apksigner
(Exemple : /Users/nom_utilisateur/Library/Android/sdk/build-tools/34.0.0/apksigner)
Étape 2 : Exécutez la commande
Ouvrez votre terminal ou invite de commande, accédez au répertoire dans lequel votre APK est enregistré, puis exécutez la commande suivante :
apksigner verify --print-certs <chemin/vers/votre/app.apk>
Étape 3 : Localisez l'empreinte SHA-256
Le résultat liste les détails du certificat pour chaque signataire. Trouvez le libellé du condensé SHA-256 :
Signer #1 certificate SHA-256 digest:
a32a43cd459f7ce6b82c552f5d876989d53e6af1c0b2d35fb677b51a1dc4f0e5
La longue chaîne de caractères hexadécimaux séparés par des deux-points correspond à l'empreinte du certificat SHA-256.
Méthode 1B : Utiliser keytool sur un APK
Étape 1 : Localisez keytool et l'APK
Assurez-vous de connaître l'emplacement de l'utilitaire keytool (qui fait partie de votre installation JDK) et du fichier APK signé.
Étape 2 : Exécutez la commande
Exécutez la commande suivante, en spécifiant le fichier APK signé comme keystore :
keytool -printcert -jarfile <path/to/your/app.apk>
Étape 3 : Localisez l'empreinte SHA-256
Le résultat inclut la section "Empreintes du certificat". Recherchez la ligne SHA-256.
Récupérer le SHA-256 à partir d'un fichier keystore
Il s'agit de la méthode de facto pour extraire l'empreinte du certificat à partir de votre fichier keystore source sur n'importe quel système d'exploitation.
Il s'agit de la méthode de facto pour extraire l'empreinte du certificat à partir de votre fichier keystore source sur n'importe quel système d'exploitation.
Méthode 2 : Utiliser l'utilitaire keytool standard
Étape 1 : Localisez les outils et le fichier keystore
Vous avez besoin des éléments suivants :
- Votre fichier keystore : fichier utilisé pour signer votre application (.jks ou .keystore). Vous devez connaître son chemin d'accès, son mot de passe et le nom d'alias de la clé qu'il contient.
- L'utilitaire keytool : cet outil est inclus dans le kit de développement Java (JDK).
| Système d'exploitation | Emplacement de keytool |
| Windows | Généralement dans le répertoire bin de votre installation JDK (par exemple, C:\Program Files\Java\jdk-xx\bin\). |
| macOS/Linux | Généralement disponible directement dans votre terminal une fois le JDK installé. |
Étape 2 : Accédez à l'emplacement approprié
Ouvrez votre terminal ou invite de commande. Pour simplifier l'étape suivante, vous pouvez accéder au répertoire contenant votre fichier keystore :
# Exemple : Remplacez l'exemple par votre chemin d'accès réel.
cd /path/to/your/keystore/directory
Étape 3 : Exécutez la commande
Utilisez la commande suivante pour demander à keytool de lister les informations du certificat en mode détaillé.
Remarque : Si keytool n'est pas reconnu, vous devez spécifier le chemin d'accès complet à l'utilitaire (par exemple, /path/to/jdk/bin/keytool).
keytool -list -v -keystore [nom_de_votre_keystore.jks] -alias [alias_de_votre_clé]
- Remplacez [nom_de_votre_keystore.jks] par le nom réel de votre fichier.
- Remplacez [alias_de_votre_clé] par le nom d'alias spécifique de votre clé de signature (par exemple, "mykey").
Étape 4 : Localisez l'empreinte SHA-256
L'utilitaire vous demandera le mot de passe de votre keystore. Une fois celui-ci saisi, les détails du certificat s'affichent.
Recherchez la section Empreintes du certificat :
Empreintes du certificat :
SHA1 : XX:XX:XX:XX:XX:...
SHA256 : 0A:B3:C6:D9:E2:F5:81:B4:C7:D0:E3:F6:92:A5:B8:C1:D4:E7:F0:83:96:A9:BC:D1:E4:F7:03:96:A9:BC:D1:E4
Nom de l'algorithme de signature : SHA256withRSA
...
La longue chaîne de caractères hexadécimaux séparés par des deux-points à côté de SHA256 correspond à l'empreinte du certificat public SHA-256.