我有一个jks密钥库,没有密码。当我运行命令
keytool -list -keystore mykeystore.jks
它会提示我输入密钥库密码,我只需单击'enter'。
[请注意,密钥库密码不是'changeit'的默认Java密码。空白
当我尝试跑步时
keytool -storepasswd -keystore mykeystore.jks
将密码更改为非空白字符串。它首先提示我输入当前密码。只需按Enter即可,因为它为空,说]
keytool -storepasswd -keystore mykeystore.jks
Enter keystore password:
Keystore password is too short - must be at least 6 characters
只需与所有人确认密码不是'changeit'
keytool -storepasswd -keystore mykeystore.jks
Enter keystore password: changeit
keytool error: java.io.IOException: Keystore was tampered with, or password was incorrect
任何想法,如果现有密码为空白,如何更改密钥库密码?
向密钥工具参数添加-storepass。
keytool -storepasswd -storepass '' -keystore mykeystore.jks
但也请注意,-list命令并不总是需要密码。在两种情况下,我都可以执行跟随命令:不使用密码或使用有效密码
$JAVA_HOME/bin/keytool -list -keystore $JAVA_HOME/jre/lib/security/cacerts
如果您要使用Java默认系统密钥库(cacerts
)进行操作,则默认密码为changeit
。
您可以列出密钥而不需要密码(即使它提示您),因此请不要将其表示为空白。
(顺便说一句,在Java历史上,谁曾更改过默认的密钥库密码?他们应该将其留为空白。)