web-dev-qa-db-ja.com

キーツールが内部コマンドまたは外部コマンドとして認識されません

Java Runtime この記事の手順 を使用してランタイムで信頼できる機関のリストを見つけようとしています。以下のコマンドを入力したとき:

_C:\ColdFusion8\runtime\jre\lib>keytool -list -storepass changeit -noprompt -keystore
_

次のエラーが表示されました。

「keytool」は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されません。

Keytool実行可能ファイルを含むディレクトリがパスにあることを確認しました。 (私のWindows 7マシンでは、C:\Program Files (x86)\Java\jre6\binにあります)これにもかかわらず、コマンドラインはkeytoolコマンドを認識しません。

私はドキュメントで言及されている2つの別々のコマンドがあると仮定しています:

  1. _C:\CFusionMX\runtime\jre\lib>keytool -list -storepass changeit -noprompt -keystore_

  2. _C:\CFusionMX\runtime\jre\lib\security\cacerts_

編集:

ところで、答えに記載されている複雑な手順の代わりに、次のプロセスを使用できますか?

  1. WSDLをブラウザで開いたときに、ロックアイコンが表示され、クリックすると「証明書」ウィンドウが開いた
  2. 次に、「証明書のインストール」オプションをクリックしました

  3. 証明書のインポートWizardウィンドウが開き、[次へ]をクリックしました2つのオプションが表示されました

    • a)証明書の種類に基づいて証明書ストアを自動的に選択します(このオプションは自動的に選択されました)
    • b)すべての証明書を次のストアに配置します

オプション_(b)_を選択することにしましたが、ここで選択する証明書ストアがわかりません。

24
Jack

keytool実行可能ファイルは、例のbinディレクトリではなく、libディレクトリの下にあるため、このエラーが発生しています。また、コマンドラインでkeystoreの場所も追加する必要があります。ここには、これらすべてに関する非常に優れたリファレンスがあります- Jrun Help/Import certificate | Certificate stores | ColdFusion

デフォルトのトラストストアは、JREのcacertsファイルです。このファイルは通常、次の場所にあります。

  • サーバー構成:

    cf_root/runtime/jre/lib/security/cacerts

  • JRun 4設定上のマルチサーバー/ J2EE:

    jrun_root/jre/lib/security/cacerts

  • Sun JDKインストール:

    jdk_root/jre/lib/security/cacerts

  • 他のJ2EEアプリケーションサーバーとJVMのドキュメントを参照してください


KeytoolはJava SDKの一部であり、次の場所にあります。

  • サーバー構成:

    cf_root/runtime/bin/keytool

  • JRun 4設定上のマルチサーバー/ J2EE:

    jrun_root/jre/bin/keytool

  • Sun JDKインストール:

    jdk_root/bin/keytool

  • 他のJ2EEアプリケーションサーバーとJVMのドキュメントを参照してください

したがって、keytool実行可能ファイルがあるディレクトリに移動すると、コマンドラインは次のようになります。

keytool -list -v -keystore Java_HOME\jre\lib\security\cacert -storepass changeit

Keytoolコマンドの実行元と証明書ファイルの場所に応じて、パス情報を提供する必要があります。

また、ColdFusionが使用している正しいcacertsファイルを更新していることを確認してください。そのサーバーに複数のJREがインストールされている場合。 「システム情報」で管理者からColdFusionが使用しているJREを確認できます。 Java Home行を探します。

23
Miguel-F
  1. JDKの/ binフォルダーをPATH環境変数に追加します。これは、[システム設定]> [環境変数]で、またはCLIを使用して実行できます。

    set PATH=%PATH%;C:\Program Files\Java\jdk1.7.0_80\bin
    
  2. CLIウィンドウを閉じて再度開きます

31
martoncsukas

Cmdを管理者として実行として実行します

7

次のコマンドを実行します。

set PATH="C:\Program Files (x86)\Java\jre7"

(64ビットの場合は、JREが存在します)。

Javaパスが設定されていないため、コマンドラインでこれを実行してからkeytool importコマンドを実行できます。

2
Mitz K