web-dev-qa-db-fra.com

Openssl n'est pas reconnu comme une commande interne ou externe

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?

168
khurram

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:

OpenSSL pour 64 bits

OpenSSL pour 32 bits

377
Usama Sarwar

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.

22
Kaloyan Drenski

S'il vous plaît suivez ces étapes, j'espère que votre clé fonctionne correctement:

  1. Étape 1 Vous aurez besoin d'OpenSSL. Vous pouvez télécharger le fichier binaire à partir du projet openssl-for-windows sur Google Code.

  2. É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.

  3. É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.

18
GAURAV KUMAR GUPTA

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:

  • "C:\Program Files\Java\jdk1.6.0_26\bin\keytool.exe"
  • "D:\keystore\SocialListing" ou cela peut être comme ceci "C:\Utilisateurs\Shaon.Android\debug.keystore"
  • "C:\cygwin\bin\openssl.exe" ou peut être comme ceci C:\Utilisateurs\openssl\bin\openssl.exe

Si la commande fonctionne correctement, vous verrez cette commande:

Entrez le mot de passe du magasin de clés: typeyourpassword

Encryptedhashkey **

11
Siddiq Abu Bakkar

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>
10
Sagar Chavada

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:
6
Vibhor Kashyap
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

4
sandhu

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
2
Nguyễn Kim

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

2
Azahar

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=**

=============================================== ===========

en utilisant manuellement à travers le codage

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();
        }

    }
1
Keshav Gera

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

0
DjP

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
0
Manish

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.

0
Oladipo Olasemo

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

http://www.openssl.org/related/binaries.html

0
Haze