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

Posted

技术标签:

【中文标题】如何进入不受密码保护的 Java 密钥库或更改密码?【英文标题】:How do I get into a non-password protected Java keystore or change the password? 【发布时间】:2012-01-28 05:55:42 【问题描述】:

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

$ 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

【问题讨论】:

【参考方案1】:

这意味着 cacerts 密钥库不受密码保护

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

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

Java 的默认 cacerts 密码是“changeit”,除非您在 Mac 上,在某个点上它是“changeme”。显然,从 Mountain Lion 开始(基于 cmets 和此处的另一个答案),Mac 的密码现在也是“changeit”,可能是因为 Oracle 现在也在处理 Mac JVM 的分发。

【讨论】:

谢谢!我不知道为什么密码是! 是的,谢谢。多么可怕的默认密码。我也想不通那是什么。我刚刚删除了 cacerts 文件并将其替换为我自己的。 如下datasmid所说,如果你运行Mountain Lion,Mac密码也是“changeit” "Java 的默认 cacerts 密码是 "changeit"":如果可以的话 +1000!感谢 ***!【参考方案2】:

keystore 的密码默认为:“changeit”。我按照您在此处输入的命令执行了证书导入。我希望你已经解决了你的问题。

【讨论】:

【参考方案3】:

如果处理安卓的谷歌登录,调试密钥库的密码是android,这里指定:https://developers.google.com/android/guides/client-auth

【讨论】:

【参考方案4】:

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

【讨论】:

【参考方案5】:

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

那篇文章包含了代码:

thetechawesomeness.ideasmatter.info

【讨论】:

以上是关于如何进入不受密码保护的 Java 密钥库或更改密码?的主要内容,如果未能解决你的问题,请参考以下文章

受信任的证书条目不受密码保护 java

苹果忘了id密码怎么办,修改需要输入24位密钥?

如何重置或更改 GitHub SSH 密钥的密码?

xshell 怎么更改登录密码

使用 ssh-keygen 更改 ssh 密码会更改 ssh 密钥?

jetty SSL如何与java密钥库和多个别名一起使用