我尝试创建一个新的自我认证的密钥库文件
我使用的命令是:
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
我不明白为什么我收到这个错误。上面的命令应该创建一个新的密钥库,那为什么它会抱怨一个不存在的商店呢?
答案 0 :(得分:19)
生成密钥对(和新的密钥库)必须作为单独的操作来完成,以便为该密钥创建自签名证书。
即
keytool -genkey -alias myKey -keystore store.jks
keytool -selfcert -alias myKey -keystore store.jks
答案 1 :(得分:2)
以管理员身份运行命令提示符,它将完成。
答案 2 :(得分:0)
-selfcert 选项已过时。请在此处查看“更改”的最后一部分:Java 6 Keytool
因此,对于Java 6及更高版本,将 -selfcert 替换为 -certreq
答案 3 :(得分:0)
首先使用以下命令生成上传密钥:
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
答案 4 :(得分:0)
似乎是旧链接,但这是我尝试的-希望这对某人有帮助。 以我为例,由于在以下位置缺少.keystore文件,我运行了以下命令; keytool -genkey -alias mykey -keystore“ C:\ Users \ username.keystore” 这会在该位置创建一个.keystore文件,系统会要求您提供以下信息 您的名字和姓氏是什么? 您的单位部门的名称是什么? 您的组织名称是什么? 您所在的城市或地区的名字是什么? 您所在州或省的名字是什么? 该单位的两个字母的国家/地区代码是什么? CN = XXX,OU = XXX,O = XXX,L = XXX,ST = XXX,C = IN是否正确?
说“是”,将创建密钥库。