1. ホーム
  2. java

[解決済み】Keytoolが内部コマンド、外部コマンドとして認識されない件

2022-02-12 10:21:44

質問

Javaランタイムで信頼できる当局のリストを発見するために、以下の方法を使用しています。 この記事にある手順 . 以下のようなコマンドを入力したところ

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

EDITです。

ところで、回答にあるような複雑な手順ではなく、以下のような手順でもいいのでしょうか?

  1. ブラウザでWSDLを開くと、ロックアイコンが表示され、それをクリックするとquot;Certificate"のウィンドウが開きます。
  2. そして、quot;Install Certificate" オプションをクリックしました。

  3. 証明書のインポートウィザードのウィンドウが開いたので、「次へ」をクリックすると、2つのオプションが表示されました。

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

オプションを選択することにしました。 (b) しかし、ここでどの証明書ストアを選択すべきか迷っています。

解決方法は?

このエラーが発生するのは keytool 実行ファイルが bin ディレクトリではなく lib ディレクトリを作成します。 そして、あなたが作成した keystore をコマンドラインに追加してください。これらすべてについて、かなり良い参考文献がここにあります -。 Jrunヘルプ / 証明書のインポート / 証明書ストア / ColdFusion

<ブロッククオート

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

  • サーバーの構成。

    cf_root/runtime/jre/lib/security/cacerts

  • Multiserver/J2EE on JRun 4の設定。

    jrun_root/jre/lib/security/cacerts

  • Sun JDKのインストール。

    jdk_root/jre/lib/security/cacerts

  • 他のJ2EEアプリケーションサーバーやJVMのドキュメントを参照する


<ブロッククオート

keytoolは、Java SDKの一部で、以下の場所にあります。

  • サーバーの構成。

    cf_root/runtime/bin/keytool

  • Multiserver/J2EE on JRun 4の設定。

    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の行を探します。