将密钥库密码从无密码更改为非空密码

新手上路,请多包涵

我有一个没有密码的 jks 密钥库。当我运行命令时

keytool -list -keystore mykeystore.jks

它提示我输入密钥库密码,我只需点击“输入”即可。

请注意,密钥库密码不是“changeit”的默认 java 密码。它是空白的

当我尝试跑步时

keytool -storepasswd -keystore mykeystore.jks

将密码更改为非空白字符串。它首先提示我输入当前密码。只需点击输入,因为它是空白的说

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

如果现有密码为空,我知道如何更改密钥库密码吗?

原文由 Matthew Kirkley 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1k
2 个回答

将 -storepass 添加到 keytool 参数。

 keytool -storepasswd -storepass '' -keystore mykeystore.jks

但也要注意 -list 命令并不总是需要密码。我可以在两种情况下执行以下命令:没有密码或有有效密码

$JAVA_HOME/bin/keytool -list -keystore $JAVA_HOME/jre/lib/security/cacerts

原文由 ijrandom 发布,翻译遵循 CC BY-SA 3.0 许可协议

如果您尝试使用 Java 默认系统密钥库 ( cacerts ),则默认密码为 changeit

您可以在不需要密码的情况下列出密钥(即使它会提示您)所以不要将其视为空白的指示。

(顺便说一句,在 Java 的历史上,谁曾更改过默认密钥库密码?他们应该将其留空。)

原文由 Timmmm 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题