16

我尝试创建一个新的自我认证密钥库文件

我使用的命令是:

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

我不明白为什么会收到此错误。上面的命令应该创建一个新的密钥库,那么为什么它抱怨一个不存在的存储呢?

4

5 回答 5

27

生成密钥对(和新的密钥库)必须作为单独的操作来为该密钥创建自签名证书。

IE

keytool -genkey -alias myKey -keystore store.jks
keytool -selfcert -alias myKey -keystore store.jks
于 2011-02-07T11:19:19.327 回答
3

以管理员身份运行命令提示符,它将完成。

于 2016-01-08T09:36:01.970 回答
1

首先使用以下命令生成上传密钥:

keytool -genkeypair -v -keystore my-upload-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000

然后运行

keytool -exportcert -keystore path-to-debug-or-production-keystore -list -v 
于 2019-10-17T11:35:52.693 回答
0

-selfcert option was made obsolete in keytool for Java 6. Check the last section of "Changes" here: Java 6 Keytool

So for Java 6 and onwards, replace -selfcert with -certreq

于 2017-11-06T22:55:36.560 回答
0

似乎是一个旧链接,但这是我尝试过的 - 希望这对某人有所帮助。就我而言,由于以下位置缺少 .keystore 文件,因此我运行了以下命令;keytool -genkey -alias mykey -keystore "C:\Users\username.keystore" 这会在该位置创建一个 .keystore 文件,系统会询问您的信息,例如您的名字和姓氏是什么?您的组织单位的名称是什么?您的组织名称是什么?您所在城市或地区的名称是什么?您所在的州或省的名称是什么?本机的两个字母的国家/地区代码是什么?CN=XXX、OU=XXX、O=XXX、L=XXX、ST=XXX、C=IN 是否正确?

说“是”,就会创建密钥库。

于 2019-10-21T11:22:10.083 回答