2011-02-07 4 views
12

存在しない、私は新しい自己認定キーストアファイルを作成しようのkeytool -genkeyエラー:キーストアファイルが

私が使用するコマンドは次のとおりです。

keytool -genkey -selfcert -dname "cn=My Name, ou=Orga unit" -alias selfcertified -keypass somepass -keystore keystore.jks -storepass anotherpass -validity 365 

が、私はいつもこの迷惑なエラーが発生します。

keytool error: java.lang.Exception: Keystore file does not exist: keystore.jks 

なぜこのエラーが発生するのか分かりません。上記のコマンドは新しいキーストアを作成する必要があります。なぜ、既存のストアが存在しないと不平を言っているのですか?

答えて

18

キーペア(および新しいキーストア)を生成する操作は、そのキーの自己署名証明書を作成するための別の操作として実行する必要があります。

すなわち

keytool -genkey -alias myKey -keystore store.jks 
keytool -selfcert -alias myKey -keystore store.jks 
+1

keytoolオンラインマニュアルから:キーストアは、まだ存在しないキーストアにデータを追加するために-genkey、-import、または-identitydbコマンドを使用するたびに作成されます。 (http://download.oracle.com/javase/1.4.2/docs/tooldocs/solaris/keytool.html)。これに応じて、keytoolコマンドは、存在しないということではなく、新しいキーストアを作成する必要があります。あなたが言ったこれらの2つのステップを実行する方法の例を与えることができますか? –

+0

@Chris Friedl - '-genkey'と' -selfcert'は別々のコマンドです。すぐに両方を実行することはできません。 – OrangeDog

+0

ありがとう! - 2つの別々のコマンドがそれを最後にしました。面白いのは、上に書いたように、2つのコマンドを1行でチュートリアルを提供するいくつかのサイトがあることです。 –

2

管理者として実行]コマンドプロンプトとそれが実行されます。 -certreqで -selfcert を置き換える、Java 6のためにそうJava 6 Keytool

以降:

0

-selfcertオプションは、Java 6を確認し、ここで "変更" の最後のセクションのためのkeytoolで廃止されました

関連する問題