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

问题描述 投票:43回答:3

我有一个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

任何想法,如果现有密码为空白,如何更改密钥库密码?

java ssl openssl keytool
3个回答
33
投票

向密钥工具参数添加-storepass。

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

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

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

72
投票

如果您要使用Java默认系统密钥库(cacerts)进行操作,则默认密码为changeit

您可以列出密钥而不需要密码(即使它提示您),因此请不要将其表示为空白。

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


0
投票

在我的系统上,密码为'changeit'。如果我按Enter键,则为空白,然后抱怨密码短。希望对您有所帮助

enter image description here

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.