2011-02-07 124 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

相关问题