web-dev-qa-db-fra.com

Hachage de clé pour Facebook Android SDK

Je ne sais pas comment obtenir le hachage de clé requis pour utiliser le Facebook Android SDK. J'ai compris que je pouvais utiliser keytool avec ces commandes:

  keytool -exportcert -alias [alias]
 -keystore [keystore] | openssl sha1 -binary | openssl enc -a -e

Le seul problème est que je ne sais pas où l'insérer, j'ai essayé via les fenêtres de commande (win7) et j'ai essayé d'ouvrir le fichier keytool.exe.

44
Anders
  1. Téléchargez et installez OpenSSL à partir de http://slproweb.com/products/Win32OpenSSL.html basé sur Windows 32 ou 64 bits. (Remarque: Téléchargez et installez le premier C++ 208 visuel redistribuable à partir de ce site également)
  2. Placez le répertoire bin d'OpenSSL installé dans le chemin Windows.
  3. Ouvrez l'invite de commande et accédez à C:\Users {User_Name} .Android
  4. maintenant, mettez cette commande sur cmd " keytool -exportcert -alias androiddebugkey -keystore debug.keystore | openssl sha1 -binary | openssl base64 ". (voir - https://developers.facebook.com/docs/Android/getting-started#samples )
  5. Entrez maintenant le mot de passe "facebook" sans double guillemet.
  6. Maintenant, une clé de hachage sera générée enter image description here
  7. Enfin, allez sur le site des développeurs Facebook. Assurez-vous que vous êtes connecté à Facebook et, en utilisant le menu déroulant en haut à droite, accédez à vos "Paramètres développeur":
  8. Une fois que vous êtes dans vos paramètres de développeur, sélectionnez `` Sample App '' dans la navigation de gauche, puis ajoutez et enregistrez votre hachage de clé dans votre profil: enter image description here
17
Pradyumna Swain

Vous pouvez installer Open SSL à partir de ici , cela devrait faire fonctionner votre commande

27
Gabe

J'ai créé un script batch facebookkeydebug.bat , qui renvoie le hachage de clé Facebook souhaité. Modifiez simplement le script, définissez les chemins d'accès corrects, le nom du fichier de clés et exécutez-le.

:: Getting Android key hash for Facebook app on Windows
:: Requirement: OpenSSL for Windows (http://code.google.com/p/openssl-for-windows/downloads/list)
:: Usage: set paths and run facebookkeydebug.bat

@echo Exporting keystore cert
keytool -exportcert -alias androiddebugkey -keystore C:\Users\myusername\.Android\debug.keystore -storepass Android -keypass Android > debug.keystore.bin

@echo Converting to sha1
C:\PROGRAMS\openssl-0.9.8k_X64\bin\openssl sha1 -binary debug.keystore.bin > debug.keystore.sha1

@echo Converting to base64
C:\PROGRAMS\openssl-0.9.8k_X64\bin\openssl base64 -in debug.keystore.sha1 -out debug.keystore.base64

@echo Done, Android hash key for Facebook app is:
C:\PROGRAMS\openssl-0.9.8k_X64\bin\openssl base64 -in debug.keystore.sha1
@pause

EDIT: J'ai publié un dépôt avec quelques scripts batch pour signer et obtenir des clés cert sur Windows: https://github.com/petrnohejl/Android-Scripts

20
petrnohejl

vous pouvez utiliser le code ci-dessous pour obtenir la clé de hachage:

try {

   PackageInfo info = getPackageManager().getPackageInfo(getPackageName(), PackageManager.GET_SIGNATURES);

   for (Signature signature : info.signatures) 
   {
    MessageDigest md = MessageDigest.getInstance("SHA");
    md.update(signature.toByteArray());
    Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
   }

  } catch (NameNotFoundException e) {
   Log.e("name not found", e.toString());
  } catch (NoSuchAlgorithmException e) {
   Log.e("no such an algorithm", e.toString());
  }

Référence :

http://limbaniandroid.blogspot.com/2013/04/how-to-get-hash-key-for-integarte.html

14
Rudi

Pour faciliter les choses -

keytool.exe -list -alias androiddebugkey -keystore debug.keystore -v

cela devrait vous fournir les empreintes digitales nécessaires, sans avoir à installer openssl.

par exemple.

Certificate fingerprints:
         MD5:  1A:5E:AA:CB:1A:CF:68:F0:8B:DA:D8:BC:EE:4F:BF:EE
         SHA1: D2:89:D1:5A:BC:F8:E3:E5:62:4D:DD:20:DD:96:CD:AB:51:A1:C1:7F
         Signature algorithm name: SHA1withRSA
         Version: 3
8
O.P.S.S

Voici un exemple de la façon d'obtenir le hachage de clé à partir du magasin de clés:

nous devons d'abord obtenir les chemins de:

Chemin Java: C:\Program Files\Java\jdk1.6.0_35\jre\bin

Chemin SSL ouvert: C:\OpenSSL-Win32\bin

(installez à partir de: http://www.openssl.org/ )

Chemin du magasin de clés: C:\Data\Android\KEYSTORE \

2) puis allez sur Ligne de commande et tapez:

cd [chemin Java]

3) puis tapez:

keytool.exe -exportcert -alias [nom d'alias] -keystore [Chemin du magasin de clés]\debug.keystore | [Ouvrir le chemin SSL]\openssl sha1 -binary | [Ouvrir le chemin SSL]\bin\openssl base64

4) le mot de passe de votre Keystore doit être requis et vous avez alors le Hash Key lié à votre Android Keystore.

enter image description here

Ceci est le doc de la façon de définir le Key Hash pour Facebook:

https://developers.facebook.com/docs/Android/getting-started#release-key-hash

3
Jorgesys

Vous devez ouvrir une fenêtre d'invite de commandes. Allez dans Démarrer-> Exécuter et tapez 'cmd' et appuyez sur Entrée. Ensuite, vous devez accéder au dossier où se trouve keytool (sauf s'il se trouve dans votre chemin), puis tapez cette commande.

Autrement dit, en supposant que cette commande concerne Windows et non Linux.

1
Falmarri

Le meilleur moyen est de générer Key-Hash en utilisant du code:

 public static void generateKeyHash(Context context) {
    try {
        PackageInfo info = context.getPackageManager().getPackageInfo(
                "com.example.user2.testapp",
                PackageManager.GET_SIGNATURES);
        for (Signature signature : info.signatures) {
            MessageDigest md = MessageDigest.getInstance("SHA");
            md.update(signature.toByteArray());
            Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
        }
    } catch (PackageManager.NameNotFoundException e) {

    } catch (NoSuchAlgorithmException e) {

    }
}

appeler cette méthode une fois et générer un hachage de clé, profitez

1
Pankaj kumar

C:\Program Files\Java\jdk1.6.0_22\bin\keytool.exe -exportcert -alias "typeYouraliasname" -emplacement du magasin de clés de votre magasin de clés | C:\OpenSSL-Win32\bin\openssl sha1 -binaire | C:\OpenSSL-Win32\bin\openssl base64

0
Aqib Butt