web-dev-qa-db-ja.com

「openssl」は内部または外部コマンドとして認識されません

コマンドプロンプトで次のコマンドを実行しようとしています。

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

しかし、コマンドプロンプトウィンドウは次のように報告します。

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

コマンドプロンプトウィンドウでこのコマンドを実行するにはどうすればよいですか?

11
user1429905

次のリンクからwindows用のopensslをインストールします。

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

17
osimer pothe

表示されたエラーは、%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.confファイルの読み取りエラー で説明されているOpenSSL構成ファイルの問題をまだ抱えています。

23
steveayre

以下に示すように、OpenSSL binパス(例:C:\ Program Files\OpenSSL-Win64\bin)をPATHシステム変数に追加するだけです。

enter image description here

4
Ahmed Mihoub
  1. 移動: https://code.google.com/archive/p/openssl-for-windows/downloads
  2. 抽出ファイル
  3. bin/openssl.exeを開く
0
Elias