2011-02-07 59 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或oridentitydb命令將數據添加到尚不存在的密鑰庫時,都會創建密鑰庫。 (http://download.oracle.com/javase/1.4.2/docs/tooldocs/solaris/keytool.html)。根據這個,keytool命令應該創建一個新的密鑰庫,而不是說它不存在。你能舉出一個如何執行你提到的這兩個步驟的例子嗎? – 2011-02-07 15:56:21

2

運行命令提示符管理員和將被完成。

0

-selfcert選項在密鑰工具過時的Java 6.選中 「更改」 這裏的最後一節:Java 6 Keytool

所以對Java 6日起,更換-selfcert-certreq

相關問題