Comment puis-je obtenir l'empreinte digitale MD5 à partir du keytool de Java, pas seulement de SHA-1?

105

Comme je souhaite utiliser Google Maps dans mon application, j'ai besoin de l'empreinte MD5 des certificats de débogage. J'ai essayé de suivre:

(Ici, j'ai copié le fichier debug.keystore de C: \ Documents and Settings \ Administrator.android dans le dossier bin)

C:\Program Files\Java\jdk1.7.0\bin>keytool -list -alias androiddebugkey -keystore debug.keystore -storepass android -keypass android

Mais j'ai obtenu les résultats suivants:

androiddebugkey, May 27, 2011, PrivateKeyEntry,Certificate fingerprint (SHA1): "some code"

Cependant, cela ne fonctionne pas pour obtenir la clé API MAP. Est-ce que SHA1 est identique à MD5?

Que dois-je faire pour obtenir le certificat MD5?

Prachi Kshirsagar
la source

Réponses:

189

Avec JDK 1.7 installé, keytool génère toujours par défaut l'empreinte digitale SHA1, pas MD5. vous pouvez obtenir le certificat MD5 en ajoutant l'option -v.

utilisez le code suivant: -

C:\Program Files\Java\jdk1.7.0\bin>keytool -v -list -alias
androiddebugkey -keystore debug.keystore -storepass android -keypass android

il produira également le certificat MD5.

Ankit Saxena
la source
7
Merci, l'option -v l'a fait pour moi
Joseph Earl
Maintenant, le processus MD5 et sha1 a changé Google Après avoir obtenu MD5 ici, nous devons obtenir la clé API de la console API Google. merci les gars
Crishnan Iyengar
@ Ankit-Saxena - Pouvez-vous s'il vous plaît répondre à cette option stackoverflow.com/questions/55336382/… -v ne fonctionne pas avec moi.
v1h5 le
25

Pour obtenir la valeur MD5 et SHA1 ... etc, voici ci-dessous:

Avant cela, n'oubliez pas de copier le debug.keystore dans un dossier Androidkeystore comme celui créé dans le lecteur C.

C:\Program Files\Java\jdk1.7.0_05\bin>keytool -v -list -keystore C:\Androidkeyst
ore\debug.keystore

il demande ici .. Entrez le mot de passe du keystore: android

entrez vous avez ici MD5 & SHA1..etc

Keystore type: JKS
Keystore provider: SUN

Your keystore contains ? entry

Alias name: androiddebugkey
Creation date: ?? ???, ????
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[?]:
Owner: CN=Android Debug, O=Android, C=US
Issuer: CN=Android Debug, O=Android, C=US
Serial number: 67b6344b
Valid from: Mon Jun 18 20:33:56 IST 2012 until: Wed Jun 11 20:33:56 IST 2042
Certificate fingerprints:
         MD5:  C2:61:51:3E:BC:C8:0C:DB:75:B6:E7:C4:90:AD:91:39
         SHA1: CD:5E:8A:0F:4E:0F:2E:FD:92:5E:5E:4R:CF:F8:44:33:2C:8C:B8:97
         SHA256: B5:BF:75:60:DB:62:09:49:F1:38:CH:49:18:22:18:95:03:C9:5C:14:F6:
B0:F4:21:D2:19:B8:FF:38:D2:B9:FD
         Signature algorithm name: SHA256withRSA

REMARQUE: s'il y a des espaces dans le chemin du répertoire, vous DEVEZ le mettre entre guillemets. par exemple, utilisez ce format:

-keystore "C: \ Users \ Votre nom \ .android \ debug.keystore"

Crishnan Iyengar
la source
3
@AnkitSaxena Cette réponse est meilleure et m'a aidé donc s'il vous plaît, n'empêchez personne de fournir une réponse alternative avec des informations différentes. Merci K.krishnan pour cette réponse +1
Onimusha
6

Si vous utilisez jdk 7:

Utilisez l'option -v.

fjs
la source
1
Veuillez noter la date à laquelle cette question a été posée. Ne répondez pas à de vieilles questions à moins que vous ne pensiez avoir une meilleure réponse.
Riking
Je l'ai juste fait parce que cela a résolu mon problème. Et j'ai juste le problème maintenant. Je voulais juste laisser quelque chose si quelqu'un a le même problème maintenant. Au fait, merci pour les moins 2 points. :(
fjs
5

ajouter -v

juste après keytoolet avant-list

keytool -v -list
as
la source
3

copier le fichier 'debug.keystore' dans c:\ ou dans un dossier

vous essayez d'aller c:\Program Files\Java\jdk1.6.25\bin folder et d'entrer

c:\Program Files\Java\jdk1.6.25\bin>keytool -list -keystore c:\debug.keystore

le mot de passe est 'android'

phénix
la source
3

L'indicateur -v donne également la certification SHA1. Sans ce drapeau, vous n'obtiendrez que l'empreinte digitale MD5.

Karan Kalra
la source
3

Le moyen le plus simple d'obtenir SHA 1, MD 5 est de cliquer sur Gradle dans le coin supérieur droit près du coin de l'écran d'Android Studio. Cliquez ensuite sur le nom de l'application (par exemple android123 (root) : il devrait apparaître comme ceci). Après cela, vous trouverez un sous - dossier nommé android et en cliquant dessus, accédez au rapport de signature . Il devrait fonctionner dans la console et devrait vous montrer le SHA 1, MD 5. J'espère que cela aide.

Sk Saqlain Ali
la source
Je vous remercie! Toutes les autres réponses n'ont pas fonctionné pour moi, mais celle-ci a fonctionné.
Yuri Reis
2

J'ai résolu le problème dans Windows 8 en ouvrant l'invite de commande (Admin), puis tapez:

C:\Program Files (x86)\Java\jre7\bin>keytool -v -list -keystore C:\<Your Path>\<Your Keystore>

Après cela, accédez simplement à https://code.google.com/apis/console/

Au fur et à mesure qu'ils sont passés à une nouvelle interface, vous devez accéder à l' onglet API et authentification sur le côté gauche, puis accéder aux applications enregistrées , sélectionner votre clé API existante pour la remplacer ou en créer une nouvelle, en utilisant le code SHA1 généré précédemment.

C'est comme ça que je l'ai fait fonctionner.


la source
1

Exportez simplement votre projet en utilisant votre keystore dans eclipse et dans la dernière étape, vous obtiendrez à la fois SHA-1 et MD-5.

entrez la description de l'image ici

Regardez cette question pour plus de détails.

Akshat
la source