web-dev-qa-db-fra.com

Comment obtenir une empreinte de certificat de signature (SHA1) pour OAuth 2.0 sur Android?

J'essaie d'enregistrer mon application Android en suivant les étapes de https://developers.google.com/console/help/#installed_applications , ce qui m'amène à suivre http://developer.Android .com/outils/publishing/app-signature.html .

Cependant, je ne sais pas comment obtenir l'empreinte de certificat de signature (SHA1). 

J'ai d'abord utilisé le plug-in Eclipse ADT pour exporter et créer le magasin de clés/clé . Ensuite, j'ai essayé de faire keytool -list keystore mykeystore.keystore et cela me donne une empreinte de certificat MD5. Dois-je refaire la signature (ce qui signifie que je ne peux pas utiliser l'assistant d'exportation Eclipse)? 

Puis-je utiliser un certificat de débogage en premier?

142
Alex

Lancez un processus d'exportation pour créer un apk pour votre application et utilisez votre clé de production. La toute dernière page affiche les empreintes digitales de vos certificats SHA1 et MD5. enter image description here

173
Frederick Nyawaya

Je sais que cette question a reçu une réponse, mais c’est ainsi que j’ai trouvé ma signature pour le fichier de clés par défaut. Dans Eclipse, si vous allez dans Windows -> Préférences -> Android -> Construire

enter image description here

138
Nick

Je pense que cela fonctionnera parfaitement. J'ai utilisé le même:

Pour Android Studio:

  1. Cliquez sur Build> Générer l'APK signé.
  2. Vous obtiendrez une boîte de message, cliquez simplement sur OK.
  3. Maintenant, il y aura une autre fenêtre il suffit de copier chemin de la clé.
  4. Maintenant, ouvrez une invite de commande et allez à C:\Program Files\Java\jdk1.6.0_39\bin> (ou à n’importe quelle version de jdk installée).
  5. Tapez keytool -list -v -keystore puis collez votre chemin du magasin de clés (par exemple, C:\Program Files\Java\jdk1.6.0_39\bin> keytool -list -v -keystore "E:\Mes projets\Android\android studio\apks signé\Hello World\HelloWorld.jks").
  6. Maintenant, il va demander mot de passe de la clé, donnez le vôtre et appuyez sur Enter pour obtenir vos clés de certificat SHA1 et MD5.
86
Ravi

utilisez ceci dans la ligne de commande 

c:\Program Files\Java\jdk1.6.25\bin>keytool -list -v -keystore c:\you_key_here.key
66
Dan Jurgen

Si vous utilisez Mac ou même Linux, copiez-le et collez-le dans l’application Terminal et obtenez immédiatement la clé SHA1. Pas besoin de changer quoi que ce soit.

 keytool -list -v -keystore ~/.Android/debug.keystore -alias androiddebugkey -storepass Android -keypass Android

Exemple de sortie:

Alias name: androiddebugkey
Creation date: 17 Feb 12
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=Android Debug, O=Android, C=US
Issuer: CN=Android Debug, O=Android, C=US
Serial number: 4f3dfc69
Valid from: Fri Feb 17 15:06:17 SGT 2012 until: Sun Feb 09 15:06:17 SGT 2042
Certificate fingerprints:
     MD5:  11:10:11:11:11:11:11:11:11:11:11:11:11:11:11:11
     SHA1: 11:11:11:11:11:11:11:11:11:11:11:11:11:11:11:11:11:11:01:11
     Signature algorithm name: SHA1withRSA
     Version: 3
62

Ouvrez le terminal (dans Unix , dansMAC), (cmd dans Windows ) et cd vers ce chemin (votre Java):

C:\Program Files\Java\jdk1.6.0_43\bin>

Exécutez cette commande:

keytool -list -v -keystore C:\Users\leon\.Android\debug.keystore -alias androiddebugkey -storepass Android -keypass Android

Modifiez simplement le chemin en debug.keystore et vous obtiendrez les empreintes MD5 et SHA-1.

57
gurkan
keytool -list -v -keystore "keyStoreName"

Exécutez cette commande à partir du répertoire contenant le magasin de clés de votre application.

38
Manmohan Soni

Si vous utilisez IntelliJ (12+?), Allez au menu Construire/Générer un Api signé  

Après avoir rempli une fenêtre contextuelle, récupérez les données dans le champ "chemin du magasin de clés" (par exemple, C:\Utilisateurs\utilisateur\Documents\store\store)

Et lancez en ligne de commande:

>keytool -list -v -keystore "C:\Users\user\Documents\store\store"

....
         MD5: 11:C5:09:73:50:A4:E5:71:A2:26:13:E0:7B:CD:DD:6B
    -->  SHA1: 07:0B:0E:E8:F7:22:59:72:6A:1C:68:05:05:CF:2E:6F:59:43:48:99
         SHA256: E6:CE:DA:37:C1:18:43:C1:A3:F0:9E:8F:1A:C2:69:AF:E6:41:F7:C0:18:
1D:1D:55:5D:F0:52:6C:EE:77:84:A7
...

Bonne chance

12
xyz

Voyez si vous souhaitez utiliser Google Map à ce moment-là, vous avez besoin de MD5 empreinte digitale pour générer api kay afin d'utiliser Google Map dans votre application Android.

La commande Keytool a généré l'empreinte MD5 si vous avez utilisé JDK 1.6 et elle a généré l'empreinte SHA1 si vous avez utilisé JDK 1.7.

Le problème est donc que si vous voulez signer votre application pour la publication, lisez ceci .

Et si vous voulez utiliser google-map read this .

12
Akshay

Dans Android Studio, procédez comme suit:

  1. Cliquez sur le menu Propriétés Gradle situé à droite de votre IDE de studio Android.
  2. Développez l'arborescence des tâches.
  3. Cliquez sur signatureReportVous pouvez voir votre SHA1 sur la console du bas.

 enter image description here

12
Harunduet

Si quelqu'un utilise le studio Android ... 

cliquez sur: Build> Generate Signed in APK

Utilisez la commande suivante pour lire les données (SHA1 et autres informations):

$ keytool -list -v -keystore nom_fichier.jks

11
Vinod Joshi

Pour ceux qui utilisent OpenSSL, vous pouvez récupérer l’empreinte digitale SHA1 de cette façon:

OpenSSL> dgst -sha1 my-release-key.keystore

Ce qui donnerait la sortie suivante:

enter image description here

4
TaeKwonJoe

Si vous utilisez Android Studio. Vous pouvez obtenir rapidement le certificat SHA1 empreinte digitale (débogage, version ... tous les types de construction !!) via Tâches de Gradle :

signatureReport

SHA1 est affiché dans Messages Logs

Le plug-in Android (configuré dans l'application Gradle) crée un mode de débogage par défaut. 

com.Android.application

Fichier d'itinéraire vers le magasin de clés: 

ACCUEIL/.Android/debug.keystore

Je recommande attach debug.keystore à build.gradle. Pour ce faire, placez un fichier debug.keystore dans un dossier d'application, puis ajoutez SigningConfigs dans l'application Gradle:

apply plugin: 'com.Android.application'

    Android {
        ................
        signingConfigs {
            debug {
                storeFile file("../app/debug.keystore")
                storePassword "Android"
                keyAlias "androiddebugkey"
                keyPassword "Android"
            }
            release {
                storeFile file("../app/debug.keystore")
                storePassword "Android"
                keyAlias "androiddebugkey"
                keyPassword "Android"
            }
        }    
        ........
    }

Extra: Si vous voulez créer pour la publication, mettez un fichier release.keystore dans un dossier d'application. (Cet exemple utilise le même debug.keystore)

3
SergioLucas

Essayez celui-ci: Windows ---- préférences ---- Android - construire --- copie de code sh1 à partir d’ici

3
Ravind Maurya

Si vous utilisez Android Studio. Vous n'avez pas besoin de générer une empreinte SHA1 à l'aide de l'invite cmd. Vous devez simplement créer un projet avec l’activité Cartes par défaut d’Android Studio. Dans le projet, vous pouvez obtenir l’empreinte dans google_maps_api.xml sous le dossier Values. J'espère que ceci vous aidera. :)

 enter image description here

3
Poras Bhardwaj

J'étais tellement déroutant au début, mais je vous propose solution de travail finale} _ pour Windows:

1) Ouvrez cmd et accédez au répertoire Java/jdk/bin (appuyez simplement sur cd .. pour revenir d’un dossier à l’autre et cd NAME_FOLDER pour passer d’un dossier à l’autre), dans mon cas, le dossier final: C:\Program Files\Java\jdk1.8.0_73\bin> enter image description here

2) Maintenant, tapez cette commande keytool -list -v -keystore C:\Users\YOUR_WINDOWS_USER\.Android\debug.keystore -alias androiddebugkey -storepass Android -keypass Android

En conséquence, vous devez obtenir quelque chose comme ceci:  enter image description here

3
Choletski

Voici ma solution facile pour cela:

Cliquez sur le bouton Gradle, vous pouvez trouver en haut à droite. vous verrez tous les fichiers de classement. Maintenant, allez sur Android, et double-cliquez sur signer le rapport. Une fois la construction du dégradé terminée, vous voyez la touche SHA. Vérifiez les images ci-dessous pour un guide étape par étape.

Une fois que vous avez cliqué sur Gradle, vérifiez les images ci-dessous. J'espère que ça aide quelqu'un.

ÉTAPE 1:

Image Step one

ÉTAPE 2:

Image Step two

3
basavaraj_gowda

Si vous êtes sur Mac/Linux, vous pouvez obtenir l’empreinte SHA1 en écrivant la ligne suivante dans le terminal:

keytool -list -v -keystore ~/.Android/debug.keystore -alias androiddebugkey -storepass Android -keypass Android

Il y a 2 choses possibles après cela

  1. Il vous demandera le mot de passe

    Il suffit de taper 

Android

et appuyez sur Entrée, vous pouvez trouver la clé SHA1 dans la sortie indiquée ci-dessous.

  1. Il vous sera demandé de télécharger un programme approprié (et une liste sera fournie.)

    Il suffit de taper suivant dans le terminal

Vous pouvez installer openjdk-8-jre-headless

et ensuite à nouveau exécuter suivant dans le terminal: keytool -list -v -keystore ~/.Android/debug.keystore -alias androiddebugkey -storepass Android -keypass Android

Cette fois, vous serez dirigé vers l’étape 1, où vous devez simplement entrer le mot de passe 

Android

et vous obtiendrez votre empreinte digitale SHA1 ci-dessous dans la sortie.

1
Akshay Chopra

Je pense que cela fonctionnera parfaitement. J'ai utilisé le même:

Pour Android Studio:

Cliquez sur Build> Generate Signed APK . Vous obtiendrez une boîte de message, cliquez simplement sur OK.

Maintenant, il y aura une autre fenêtre il suffit de copier le chemin du magasin de clés.

Ouvrez maintenant une invite de commande et accédez à C:\Program Files\Java\jdk1.6.0_39\bin> (ou à n’importe quelle version de jdk installée).

Tapez keytool -list -v -keystore puis collez votre chemin d'accès au magasin de clés (par exemple, C:\Programmes\Java\jdk1.6.0_39\bin> keytool -list -v -keystore "E:\Mes projets\Android\android studio\signé apks\Hello World\HelloWorld.jks ").

Maintenant, il va demander le mot de passe du magasin de clés, fournir le vôtre et appuyer sur Entrée pour obtenir les clés de vos certificats SHA1 et MD5.

Ajoutez maintenant cette clé SHA1 à la console des développeurs Google dans l’onglet Informations d’identification et modifiez également les variantes de construction d’Android Studio en mode Publication. 

1
Rishab Jain

Pour ceux qui recherchent un outil clé sur mac. Suivez ces étapes:

Tout d’abord, assurez-vous d’installer Java JDK http://docs.Oracle.com/javase/7/docs/webnotes/install/mac/mac-jdk.html

Puis tapez ceci dans l'invite de commande:

/usr/libexec/Java_home -v 1.7

il va cracher quelque chose comme:

/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home

keytool se trouve dans le même répertoire que javac. c'est à dire: 

/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/bin

À partir du répertoire bin, vous pouvez utiliser le keytool.

1
wired00

Utiliser portecle :

  • Fichier> Ouvrir le fichier de clés
  • Entrez le mot de passe du keystore
  • Faites un clic droit sur le nom d'alias> Détails du certificat> Empreinte digitale SHA-1
0
Radi

Voici un outil pour les codeurs paresseux:

1 ajout de dépendance: 

compile 'com.vk:androidsdk:1.6.9'

2 ajoutez des lignes suivantes quelque part dans votre activité/application: 

String[] fingerprints = VKUtil.getCertificateFingerprint(this, getPackageName()); 
Log.d("SHA1", fingerprints[0]);

3 Ouvrez logcat et attrapez le message.

4 Profit!

0
Aleksandr

Solution pas à pas:

  1. Ouvrez votre invite de commande ou Terminal pour Mac
  2. Changer de répertoire en répertoire de l’emplacement du fichier keytool. Changez de répertoire en utilisant la commande cd <directory path>. (Remarque: si un nom de répertoire a de l’espace, ajoutez \ entre les deux mots. Exemple cd /Applications/Android\ Studio.app//Contents/jre/jdk/Contents/Home/bin/)

    • Pour trouver l'emplacement de votre outil de clé, vous allez sur Android studio .. ouvrez votre projet. Et allez à

    • Fichier> Structure du projet> Emplacement du SDK ... et recherchez l'emplacement du JDK.

  3. Exécutez l'outil de clé à l'aide de la commande suivante: keytool -list -v –keystore <your jks file path> (Remarque: si un nom de répertoire dispose d'un espace, ajoutez\entre les deux mots. Exemple keytool -list -v -keystore /Users/username/Desktop/tasmiah\ mobile/v3/jordanos.jks)

  4. La commande vous invite à entrer le mot de passe .. alors entrez votre mot de passe .. alors vous obtiendrez le résultat

0
wael

Je voulais poster un avis à ceux qui ont le même problème que moi. J'ai suivi les étapes pour générer mon débogage SHA-1 et ma version SHA-1. J'essayais de connecter l'API de connexion Google à mon application. 

Je suis tombé sur le problème que le fichier de débogage .apk fonctionnerait correctement, qu'il se connecterait et s'authentifierait avec Google Sign-In. Mon communiqué .apk fonctionnerait également, s’il est installé manuellement sur le téléphone. Lorsque j'ai publié mon communiqué de presse .apk sur le Google Play Store, mon compte Google ne s'authentifiait pas et je rencontrais un problème!

Pendant très longtemps, je n'y suis pas parvenu, mais j'ai constaté que mon application était signée par Google, c'est-à-dire que le message en haut de la console du développeur était affiché: La signature de l'application Google Play est activée pour cette application.

Je suis allé dans l'onglet Gestion des versions, puis j'ai fait défiler jusqu'à App Signing et trouvé le SHA-1. Après avoir ajouté cela à mon code et à la "console Firebase" que j'utilisais comme moteur de connexion à Google Sign-in, tout semblait fonctionner. Il semble que le fichier de clés de ma version ait été remplacé par le certificat signé Google. Je ne sais pas vraiment si c'est ce qui se passait, mais cela a résolu mon problème et permis à mon apk de publication Google Play Store de s'authentifier correctement avec le signe Google. dans!

0
Brandon

Le moyen le plus simple d’obtenir SHA-1 pour le mode édition et débogage du studio Android. Vérifie ça

0
Naeem Ibrahim