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


Answers

Utilisez le chemin entier, 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.

Question

Je souhaite générer une signature d'application pour mon application qui sera ensuite 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 tutoriel, il est dit qu'en exécutant ce cmd, mon processus de génération de la signature commencera.

Cependant, cette commande donne une erreur:

openssl is not recognized as an internal or external command

Comment puis-je le débarrasser de ça?




aller au chemin du dossier bin dans cmd, puis exécutez la commande suivante

keytool -exportcert -alias androiddebugkey -keystore %HOMEPATH%\.android\debug.keystore | openssl sha1 -binary | openssl base64

vous obtiendrez votre clé de hachage




utiliser cela a fonctionné pour moi. s'il vous plaît changer votre chemin

C: \ Programmes \ Java \ jre7 \ bin keytool -exportcert -alias androiddebugkey -keystore "C: \ Utilisateurs \ Ace.android \ debug.keystore" | "C: \ openssl \ bin

\ openssl.exe "sha1 -binaire |" C: \ openssl \ bin \ openssl.exe "base64




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



Cela a fonctionné pour moi avec succès.

"C: \ Programmes \ Java \ jdk1.6.0_26 \ bin \ keytool.exe" -exportcert -alias sociallisting -keystore "D: \ keystore \ SocialListing" | "C: \ cygwin \ bin \ openssl.exe" sha1 -binaire | "C: \ cygwin \ bin \ openssl.exe" base64

Soyez prudent avec le chemin ci-dessous:

  • "C: \ Programmes \ Java \ jdk1.6.0_26 \ bin \ keytool.exe"
  • "D: \ keystore \ SocialListing" ou il peut être comme ceci " C: \ Users \ Shaon.android \ debug.keystore "
  • "C: \ cygwin \ bin \ openssl.exe" ou peut être comme ceci C: \ Users \ openssl \ bin \ openssl.exe

Si la commande fonctionne correctement, vous verrez cette commande:

Entrez le mot de passe du fichier de clés: tapez votre mot de passe

Encryptedhashkey **




D'abord, naviguez vers votre dossier Java / jre / bin dans cmd cd: \ Program Files (x86) \ Java \ jre7 \ bin

Ensuite, utilisez: [changez le chemin de debug.keystore vers l'emplacement correct sur votre système] installez 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

Donc toute la commande va comme ceci: [invite à entrer le mot de passe du keystore 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:



Téléchargements et décompresser

Vous pouvez télécharger openssl pour Windows 32 et 64 bits à partir des liens respectifs 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 changer notre chemin Ici aussi bien qu'installer open ssl dans votre système

Ça fonctionne 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 keystore: android

**ZrRtxw36xWNYL+h3aJdcCeQQxi0=**

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

en utilisant manuellement par 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();
        }

    }