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

我正在尝试将一个受信任的证书导入到 Java 捕获密钥库中,但是我遇到了一个问题。我试图列出现有的受信任证书,但密钥存储库似乎没有密码保护。

$ 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
161514 次浏览

也就是说密钥存储库没有密码保护

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

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

Java 的默认密码是“ changeit”,除非你在 Mac 上,在某个特定点上它是“ changeme”。显然,就像 Mountain Lion (基于评论和这里的另一个答案) ,Mac 的密码现在也是“ changeit”,可能是因为 Oracle 现在也在处理 Mac JVM 的发行版。

Mac Mountain Lion 现在使用 Oracle 的密码也是一样的。

在默认情况下,keystore 的密码是: “ changeit”。我按照你在这里输入的命令进行操作,输入证书。我希望你已经解决了你的问题。

进入一个没有密码保护的 Java 密钥存储库并更改密码可以通过 Java 编程语言本身的帮助来完成。

那篇文章包含了这方面的代码:

Thetechawesomeness.ideasmatter.info

在处理 Android 的 Google 登录时,debug 密钥库的密码是 android,如下所示: https://developers.google.com/android/guides/client-auth