"openssl" не распознается как внутренняя или внешняя команда

Я пытаюсь выполнить следующую команду в командной строке.

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

Но окно командной строки windows сообщает:

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

Что мне делать, чтобы выполнить эту команду в окне командной строки?

Ответ 2

Ошибка, которую вы видели, означает, что в вашей %PATH% (внешняя команда) нет такой программы, а также не встроенная команда оболочки (внутренняя команда).

Установите OpenSSL на свой компьютер. Вам также нужно будет проверить, что его установленное место находится в вашем %PATH%. По умолчанию это, вероятно, не будет. В качестве примера предположим, что OpenSSL установлен в c:\OpenSSL-Win32. openssl вероятно, находится в c:\OpenSSL-Win32\bin\openssl.exe. Таким образом, вам нужно включить c:\OpenSSL-Win32\bin.

Иногда OpenSSL не может найти свой файл конфигурации в Windows. Для этого см. OpenSSL и ошибку при чтении файла openssl.conf.


Другой вариант - использовать полный путь в команде:

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

Однако это все еще страдает проблема с файлом конфигурации OpenSSL, подробно описанная в OpenSSL, и ошибка чтения файла openssl.conf.

Ответ 3

Просто вам нужно добавить путь к OpenSSL bin (например: C:\Program Files\OpenSSL-Win64\bin) в системную переменную PATH, как показано ниже:

enter image description here

Ответ 5

Установите openssl на свою машину Windows.