Openssl no se reconoce como un comando interno o externo
Deseo generar una firma de aplicación para mi aplicación que luego se integrará con Facebook. En uno de los tutoriales de Facebook, encontré este comando:
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64
En el tutorial, dice que al ejecutar este cmd, se iniciará mi proceso de generación de la firma.
Sin embargo, este comando da un error:
openssl is not recognized as an internal or external command
¿Cómo puedo deshacerme de esto?
15 answers
Bien en el lugar de openssl ... tienes que poner realmente la ruta a tu carpeta openssl que has descargado. Su comando real debería tener el siguiente aspecto:
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
Recuerde, la ruta que ingresará será la ruta donde ha instalado openssl...espero que esto ayude..:-)
Editar:
Puede descargar openssl para windows 32 y 64 bits desde los enlaces respectivos a continuación:
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-11-20 18:50:42
Usa toda la ruta, así:
exportcert -alias androiddebugkey -keystore ~/.android
/debug.keystore | "C:\openssl\bin\openssl.exe" sha1 -binary | "C:\openssl\bin\op
enssl.exe" base64
Funcionó para mí.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-03-29 03:20:40
Por favor, siga estos pasos, espero que su clave funcione correctamente:
Paso 1 necesitará OpenSSL. Puede descargar el binario desde openssl-for-windows proyecto en Google Code.
-
Paso 2 Descomprima la carpeta, luego copie la ruta a la carpeta
bin
al portapapeles.Por ejemplo, si el archivo se descomprime en la ubicación
C:\Users\gaurav\openssl-0.9.8k_WIN32
, copie la rutaC:\Users\gaurav\openssl-0.9.8k_WIN32\bin
. -
Paso 3 Añadir la ruta a su ruta del entorno del sistema. Después de establecer la variable de entorno
PATH
, abra el cmd y escriba este comando:C:\>keytool -exportcert -alias androiddebugkey -keystore [path to debug.keystore] | openssl sha1 -binary | openssl base64
Escriba su contraseña cuando se le solicite. Si el comando funciona, entonces se le mostrará una clave.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-04-28 14:57:35
Esto ha funcionado para mí con éxito.
"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
Tenga cuidado con la ruta de abajo:
- "C:\Program Files \ Java\jdk1.6.0_26\bin\keytool.exe "
- "D:\keystore\SocialListing" o puede ser así " C:\Users\Shaon.android \ debug.keystore "
- "C:\cygwin\bin\openssl.exe " o puede ser así C:\Users\openssl\bin\openssl.exe
Si el comando funciona correctamente, verá este comando:
Introduzca la contraseña del almacén de claves: escriba su contraseña
Encryptedhashkey**
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-09-08 02:07:58
Es una respuesta tardía, pero ayudará a la gente perezosa como yo.. agregue este código a su clase de aplicación, no es necesario descargar openssl y no es necesario establecer la ruta.. sólo necesito copiar mi código.. y keyHash se generará en el registro.
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);
}
}
}
Y no olvides añadir la clase MyApplication en manifest:
<application
android:name=".MyApplication"
</application>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-08-05 06:06:35
Primero vaya a su carpeta Java / jre / bin en cmd cd c:\Program Files (x86)\Java\jre7\bin
Luego use : [cambiar depuración.ruta del almacén de claves a la ubicación correcta en su sistema] instale openssl (para Windows 32 o 64 según sus necesidades en 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
Así que todo el comando va así: [solicita ingresar la contraseña del almacén de claves en la ejecución]
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:
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-08-12 06:08:13
Usé este código:
Esto se trabajó para mí con éxito.
"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
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-04-09 09:09:30
Usar esto funcionó para mí. por favor, cambie su Ruta
C:\Program Files \ Java\jre7 \ bin keytool-exportcert-alias androiddebugkey-keystore "C:\Users\Ace.android \ debug.keystore " / | C:\openssl\bin
\openssl.exe " sha1-binary / | C:\openssl\bin\openssl.exe " base64
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-11-23 11:58:48
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.
Entonces vete C:\Program Files \ Java\jdk1.8. 0_05\bin y presione la tecla mayús y haga clic con el botón derecho y abra cmd
C:\Program Files\Java\jdk1.8.0_05\bin>//cmd path
Eso es para Sha1 pasado esto
keytool-exportcert-alias androiddebugkey-keystore "C:\User\ABC\.androide.keystore " / openssl sha1-binary / openssl base64
// and ABC is system name put own system name
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-05-13 19:00:59
Descargas y descomprimir
Puede descargar openssl para windows 32 y 64 bits desde los enlaces respectivos a continuación:
Https://code.google.com/archive/p/openssl-for-windows/downloads
OpenSSL para 64 Bits OpenSSL para 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
Importante cambiar nuestra ruta Aquí, así como instalar open ssl en su sistema
Está Funcionando Sin Duda
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
Introduzca la contraseña del almacén de claves: android
**ZrRtxw36xWNYL+h3aJdcCeQQxi0=**
=============================================================
Usando Manualmente a través de la Codificación
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();
}
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-26 11:24:41
Para aquellos que buscan una ubicación más reciente para instalar una versión binaria de windows de openssl (32bit y 64bit) lo pueden encontrar aquí:
Http://slproweb.com/products/Win32OpenSSL.html
Una lista actualizada de sitios web que ofrecen distribuciones binarias está aquí
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-11-08 12:00:34
Vaya a la ruta de la carpeta bin en cmd y luego ejecute el siguiente comando
keytool -exportcert -alias androiddebugkey -keystore %HOMEPATH%\.android\debug.keystore | openssl sha1 -binary | openssl base64
Obtendrá su hash clave
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-09-30 06:08:56
Para los usuarios de Windows descargar open ssl desde el repositorio de código de Google https://code.google.com/p/openssl-for-windows/downloads/list
Después de la descarga, extraiga el contenido a una carpeta preferiblemente en su unidad c:.
Luego actualice su variable de entorno PATH para que pueda usar el .exe desde cualquier ubicación en la línea de comandos.
[windows 8] Para actualizar la variable de entorno PATH, haga clic en mi equipo->propiedades->Configuración avanzada del sistema.
Haga clic en Pestaña Avanzada y haga clic en el botón' Variable de entorno ' en la parte inferior del diálogo, luego seleccione la entrada de ruta de la sección 'Variables del sistema' haciendo clic en editar.
Pegue la ruta a la carpeta bin de la descarga openssl extraída y haga clic en Aceptar.
Tendrá que cerrar y abrir y símbolo del sistema que puede haber iniciado previamente para que pueda cargar la configuración de ruta actualizada.
Ahora ejecute este comando:
Keytool-exportcert-alias androiddebugkey-keystore "C:\Users\Oladipo.android \ debug.keystore " / openssl sha1-binary / openssl base64
Debería ver la clave de desarrollador.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-11-20 19:44:07
Esto funciona para mí:
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
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-09-09 08:11:23
No se garantiza que la generación de hashkey con este único método openssl funcionará. Si no funciona para mí. Pero gracias por darme una dirección para resolver mi problema.
Solución garantizada : Necesita romper todo el comando en comandos separados y tiene que escribir la salida de cada ejecución en el archivo.
Puede tomar la ayuda desde el siguiente enlace :
Http://www.helloandroid.com/tutorials/using-facebook-sdk-android-development-part-1
Disfruta :)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-05-02 10:11:16