java - 将 keystore 密码从无密码更改为非空密码

标签 java ssl openssl keytool

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

keytool -list -keystore mykeystore.jks

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

请注意, keystore 密码不是“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

知道如果现有密码为空,我可以如何更改 keystore 密码吗?

最佳答案

如果您尝试使用 Java 默认系统 keystore (cacerts) 进行操作,则默认密码为 changeit

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

(顺便说一句,Java 历史上谁曾更改过默认 keystore 密码?他们应该把它留空。)

关于java - 将 keystore 密码从无密码更改为非空密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15093440/

相关文章:

php - 在 Heroku Laravel 实例上设置 HTTPS 重定向

ssl - 使用 HAProxy 每个域使用多个 SSL 证书

c# - 使用私钥对 PHP 进行数字签名,在 C# 中进行验证

c++ - boost::asio 中的未经请求的消息使应用程序崩溃,没有 SSL 它工作正常,为什么?

PHP - 用 openssl_random_pseudo_bytes() 替换 mcrypt_create_iv()

java - 为所有 JComponents 设置默认设置的便捷方法是什么

java - 使一个 bean 成为默认的 spring bean

java - GridBagLayout 中组件的大小不正确

java - 从多重选择中设置多个 javabean 属性

ruby - 当我通过反引号 `curl <url>` 从 ruby​​ 调用它时 curl 不同的结果