Je souhaite générer une signature d'application pour mon application qui sera ultérieurement intégrée à Facebook. Dans l'un des tutoriels de Facebook, j'ai trouvé cette commande:
keytool -exportcert -alias androiddebugkey -keystore ~/.Android/debug.keystore | openssl sha1 -binary | openssl base64
Dans le didacticiel, il est indiqué qu’en exécutant cette cmd, mon processus de génération de la signature va commencer.
Cependant, cette commande donne une erreur:
openssl is not recognized as an internal or external command
Comment puis-je me débarasser de cela?
Eh bien à la place de openssl ... vous devez indiquer le chemin d'accès à votre dossier openssl que vous avez téléchargé. Votre commande réelle devrait ressembler à:
keytool -exportcert -alias androiddebugkey -keystore ~/.Android/debug.keystore | "C:\Users\abc\openssl\bin\openssl.exe" sha1 -binary | "C:\Users\abc\openssl\bin\openssl.exe" base64
Rappelez-vous que le chemin que vous entrerez sera le chemin où vous avez installé l’openssl ... espérons que cela vous aidera .. :-)
Modifier:
vous pouvez télécharger openssl pour Windows 32 et 64 bits à partir des liens correspondants ci-dessous:
Utilisez le chemin complet, comme ceci:
exportcert -alias androiddebugkey -keystore ~/.Android
/debug.keystore | "C:\openssl\bin\openssl.exe" sha1 -binary | "C:\openssl\bin\op
enssl.exe" base64
Cela a fonctionné pour moi.
S'il vous plaît suivez ces étapes, j'espère que votre clé fonctionne correctement:
Étape 1 Vous aurez besoin d'OpenSSL. Vous pouvez télécharger le fichier binaire à partir du projet openssl-for-windows sur Google Code.
Étape 2 Décompressez le dossier, puis copiez le chemin dans le dossier bin
dans le Presse-papiers.
Par exemple, si le fichier est décompressé à l'emplacement C:\Users\gaurav\openssl-0.9.8k_WIN32
, copiez le chemin C:\Users\gaurav\openssl-0.9.8k_WIN32\bin
.
Étape 3 Ajoutez le chemin d'accès au chemin de votre environnement système. Une fois votre variable d’environnement PATH
définie, ouvrez la commande cmd et tapez cette commande:
C:\>keytool -exportcert -alias androiddebugkey -keystore [path to debug.keystore] | openssl sha1 -binary | openssl base64
Tapez votre mot de passe lorsque vous y êtes invité. Si la commande fonctionne, une clé vous sera présentée.
Ceci a fonctionné pour moi avec succès.
"C:\Program Files\Java\jdk1.6.0_26\bin\keytool.exe" -exportcert -alias sociallisting -keystore "D:\keystore\SocialListing" | "C:\cygwin\bin\openssl. exe "sha1 -binary |" C:\cygwin\bin\openssl.exe "base64
Attention au chemin ci-dessous:
Si la commande fonctionne correctement, vous verrez cette commande:
Entrez le mot de passe du magasin de clés: typeyourpassword
Encryptedhashkey **
c'est une réponse tardive, mais cela aidera les paresseux comme moi .. ajoutez ce code à votre classe Application, il n'est pas nécessaire de télécharger openssl et pas besoin de définir le chemin .. il suffit de copier ce code .. et keyHash le fera généré dans le journal.
import com.facebook.FacebookSdk;
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
FacebookSdk.sdkInitialize(getApplicationContext());
AppEventsLogger.activateApp(this);
printKeyHash();
}
private void printKeyHash() {
try {
PackageInfo info = getPackageManager().getPackageInfo(
getPackageName(), PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
Log.i("KeyHash:",
Base64.encodeToString(md.digest(), Base64.DEFAULT));
}
} catch (PackageManager.NameNotFoundException e) {
Log.e("jk", "Exception(NameNotFoundException) : " + e);
} catch (NoSuchAlgorithmException e) {
Log.e("mkm", "Exception(NoSuchAlgorithmException) : " + e);
}
}
}
et n'oubliez pas d'ajouter la classe MyApplication dans le manifeste:
<application
Android:name=".MyApplication"
</application>
Naviguez d’abord dans votre dossier Java/jre/bin dans cmd cd c:\Program Files (x86)\Java\jre7\bin
Ensuite, utilisez: [changez le chemin debug.keystore sur le bon emplacement sur votre système] install openssl (pour windows 32 ou 64 selon vos besoins sur c:\openssl)
keytool -exportcert -alias androiddebugkey -keystore "C:\Users\vibhor\.Android\debug.keystore" | "c:\openssl\bin\openssl.exe" sha1 -binary | "c:\openssl\bin\openssl.exe" base64
Ainsi, toute la commande se présente comme suit: [invite à saisir le mot de passe du magasin de clés lors de l'exécution]
c:\Program Files (x86)\Java\jre7\bin>keytool -exportcert -alias androiddebugkey
-keystore "C:\Users\vibhor\.Android\debug.keystore" | "c:\openssl\bin\openssl.ex
e" sha1 -binary | "c:\openssl\bin\openssl.exe" base64
Enter keystore password:
Steps to create Hash Key.
1: Download openssl from Openssl for Windows . I downloaded the Win64 version
2:Unzip and copy all the files in the bin folder including openssl.exe(All file of bin folder)
3:Goto to the folder where you installed JDK for me it’s C:\Program Files\Java\jdk1.8.0_05\bin
4:Paste all the files you copied from Openssl’s bin folder to the Jdk folder.
ensuite, allez dans C:\Program Files\Java\jdk1.8.0_05\bin et appuyez sur la touche Maj, puis cliquez avec le bouton droit de la souris et ouvrez cmd.
C:\Program Files\Java\jdk1.8.0_05\bin>//cmd path
c'est pour Sha1 après cela
keytool -exportcert -alias androiddebugkey -keystore "C:\Utilisateur\ABC\.Android.keystore" | openssl sha1 -binary | openssl base64
// et ABC est le nom du système, mettre son propre nom de système
J'ai utilisé ce code:
Ceci a fonctionné pour moi avec succès.
"C:\Program Files\Java\jdk1.6.0_26\bin\keytool.exe" -exportcert -alias sociallisting -
keystore "D:\keystore\SocialListing" | "C:\cygwin\bin\openssl.exe" sha1 -binary |
"C:\cygwin\bin\openssl.exe" base64
utiliser cela a fonctionné pour moi. s'il vous plaît changez votre chemin
C:\Program Files\Java\jre7\bin keytool -exportcert -alias androiddebugkey -keystore "C:\Utilisateurs\Ace.Android\debug.keystore" | "C:\openssl\bin
\ openssl.exe "sha1 -binary |" C:\openssl\bin\openssl.exe "base64
Téléchargements et décompression
Vous pouvez télécharger openssl pour Windows 32 et 64 bits à partir des liens correspondants ci-dessous:
https://code.google.com/archive/p/openssl-for-windows/downloads
OpenSSL pour 64 bits OpenSSL pour 32 bits
keytool -exportcert -alias androiddebugkey -keystore %HOMEPATH%\.Android\debug.keystore | **"C:\Users\keshav.gera\openssl-0.9.8k_X64\bin**\openssl.exe" sha1 -binary | **"C:\Users\keshav.gera\openssl-0.9.8k_X64\bin**\openssl.exe" base64
Important changez notre chemin ici et installez un fichier SSL ouvert sur votre système
Ça marche pas de doute
C:\Users\keshav.gera>keytool -exportcert -alias androiddebugkey -keystore %HOMEPATH%\.Android\debug.keystore | "C:\Users\keshav.gera\openssl-0.9.8k_X64\bin\openssl.exe" sha1 -binary | "C:\Users\keshav.gera\openssl-0.9.8k_X64\bin\openssl.exe" base64
Entrez le mot de passe du magasin de clés: Android
**ZrRtxw36xWNYL+h3aJdcCeQQxi0=**
=============================================== ===========
import Android.content.pm.PackageInfo;
import Android.content.pm.PackageManager;
import Android.content.pm.Signature;
import Java.security.MessageDigest;
import Java.security.NoSuchAlgorithmException;
private void PrintHashKey() {
try {
PackageInfo info = getPackageManager().getPackageInfo("**com.keshav.patanjalidemo Your Package Name Here**", 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) {
e.printStackTrace();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
}
aller au chemin du dossier bin dans cmd puis exécuter la commande suivante
keytool -exportcert -alias androiddebugkey -keystore %HOMEPATH%\.Android\debug.keystore | openssl sha1 -binary | openssl base64
vous obtiendrez votre clé de hachage
Cela fonctionne pour moi:
C:\Users\example>keytool -exportcert -alias androiddebugkey -keystore
"C:\Users\example\.Android" | "C:\openssl\bin\openssl.exe" sha1 -binary
| "C:\openssl\bin\oenssl.exe" base64
pour les utilisateurs de Windows, téléchargez ssl depuis le référentiel de code de Google https://code.google.com/p/openssl-for-windows/downloads/list
Après le téléchargement, extrayez le contenu dans un dossier de préférence dans votre lecteur c:.
Puis mettez à jour votre variable d’environnement PATH afin que vous puissiez utiliser le fichier .exe à partir de n’importe quel emplacement de votre ligne de commande.
[windows 8] Pour mettre à jour votre variable d’environnement PATH, cliquez sur mon ordinateur-> Propriétés-> Paramètres système avancés.
Cliquez sur l'onglet Avancé, puis sur le bouton "Variable d'environnement" au bas de la boîte de dialogue, puis sélectionnez l'entrée Chemin dans la section "Variables système" en cliquant sur Modifier.
Collez le chemin d'accès au dossier bin du téléchargement openssl extrait et cliquez sur OK.
Vous devrez fermer et ouvrir et commander l'invite que vous avez peut-être déjà lancée afin de pouvoir charger les paramètres de chemin mis à jour.
Maintenant, lancez cette commande:
keytool -exportcert -alias androiddebugkey -keystore "C:\Utilisateurs\Oladipo.Android\debug.keystore" | openssl sha1 -binary | openssl base64
Vous devriez voir la clé de développeur.
Pour ceux qui recherchent un emplacement plus récent pour installer une version binaire de openssl (32 bits et 64 bits) sous Windows, vous pouvez le trouver ici:
http://slproweb.com/products/Win32OpenSSL.html
Une liste à jour des sites Web offrant des distributions binaires est ici