'openssl' is not recognized as internal or

2019-04-07 14:39发布

问题:

I am trying to execute the following command in command prompt .

keytool -exportcert -alias androiddebugkey -keystore "<path-to-users-directory>\.android\debug.keystore" | openssl sha1 -binary | openssl base64

But the command prompt windows reports:

'openssl' is not recognized as internal or external command.

What ca I do to execute this command in command prompt window?

回答1:

install openssl for windows from the following link .

https://code.google.com/p/openssl-for-windows/downloads/detail?name=openssl-0.9.8k_WIN32.zip



回答2:

The error you saw means there's no such program in your %PATH% (external command) and it's also not a built-in shell command (internal command).

Install OpenSSL on your machine. You will also need to check that its installed location is in your %PATH%. By default it probably won't be. As an example, suppose OpenSSL is installed at c:\OpenSSL-Win32. The openssl binary is probably located at c:\OpenSSL-Win32\bin\openssl.exe. So you path needs to include c:\OpenSSL-Win32\bin.

Sometimes OpenSSL cannot find its configuration file on Windows. For that, see OpenSSL and error in reading openssl.conf file.


Another option is to use the full path in the command:

keytool -exportcert -alias androiddebugkey -keystore "<path-to-users-directory>\.android\debug.keystore" | ^
  c:\OpenSSL-Win32\bin\openssl.exe sha1 -binary | c:\OpenSSL-Win32\bin\openssl.exe base64

However, this still suffers the OpenSSL configuration file problem detailed at OpenSSL and error in reading openssl.conf file.



回答3:

Install openssl on your Windows machine.