如何进入无密码保护的Java密钥库或更改密码?

如何进入无密码保护的Java密钥库或更改密码?,java,keystore,keytool,atlassian-fisheye,Java,Keystore,Keytool,Atlassian Fisheye,我正在尝试将受信任的证书导入到,但遇到问题。我试图列出现有的受信任证书,但密钥库似乎没有密码保护 $ keytool -list -keystore cacerts Enter keystore password: ***************** WARNING WARNING WARNING ***************** * The integrity of the information stored in your keystore * * has NOT been ve

我正在尝试将受信任的证书导入到,但遇到问题。我试图列出现有的受信任证书,但密钥库似乎没有密码保护

$ keytool -list -keystore cacerts
Enter keystore password:

*****************  WARNING WARNING WARNING  *****************
* The integrity of the information stored in your keystore  *
* has NOT been verified!  In order to verify its integrity, *
* you must provide your keystore password.                  *
*****************  WARNING WARNING WARNING  *****************

Keystore type: JKS
Keystore provider: SUN

Your keystore contains 76 entries
我尝试导入受信任的证书:

$ keytool -importcert -alias "JiraCert" -file /root/c9ssl.crt -keystore /etc/java-6-sun/security/cacerts
Enter keystore password:  
Keystore password is too short - must be at least 6 characters
Enter keystore password:  
Keystore password is too short - must be at least 6 characters
Enter keystore password:  
Keystore password is too short - must be at least 6 characters
Too many failures - try later
我还尝试将密码从“无”更改为:

$ keytool -storepasswd -keystore cacerts.back
Enter keystore password:
Keystore password is too short - must be at least 6 characters
Enter keystore password:
Keystore password is too short - must be at least 6 characters
Enter keystore password:
Keystore password is too short - must be at least 6 characters
Too many failures - try later
这意味着cacerts密钥库没有密码保护

这是一个错误的假设。如果您仔细阅读,您会发现提供的清单没有验证密钥库的完整性,因为您没有提供密码。清单不需要密码,但您的密钥库肯定有密码,如下所示:

为了验证其完整性,必须提供密钥库密码


Java默认的cacerts密码是“changeit”,除非您在Mac上,在某一点上它是“changeme”。显然,对于Mountain Lion(根据评论和这里的另一个答案),Mac的密码现在也是“changeit”,可能是因为Oracle现在也在处理Mac JVM的分发。

Mac Mountain Lion现在使用Oracle时有相同的密码。

默认情况下,密钥库的密码是:“changeit”。我执行了您在此处输入的命令,以便导入证书。我希望您已经解决了问题。

进入无密码保护的Java密钥库并更改密码可以在Java编程语言本身的帮助下完成

该条款包含以下代码:


谢谢!我不明白为什么密码是!!是的,谢谢。多么糟糕的默认密码。我也不知道那是什么。我刚刚删除了cacerts文件,并用我自己的文件替换了它。正如下面的datasmid所说,如果您运行的是Mountain Lion,Mac密码也是“changeit”。Java的默认cacerts密码是“changeit”:+1000,如果可以的话!谢谢你!