【发布时间】:2019-11-01 11:28:07
【问题描述】:
我创建了一个以“changeme”作为密钥库密码的全局 JKS。我使用 Keystore Explorer 创建了 JKS。
使用全局 JKS 背后的想法是应用程序可以从 S3 中拉下 JKS,然后使用自己的字符串密码重置 JKS。我们做了很多 SpringBoot API,我们使用 JKS 来保护容器中的 Tomcat,以便我们可以连接 HTTPS。
但这是我遇到的问题,当我更改 JKS 密钥库密码时,我开始收到 java.security.UnrecoverableKeyException: Cannot recover key 错误。
在 Keystore Explorer 中,我没有为别名指定密码。当我进入 Keystore Explorer 更改别名密码时,它接受“changeme”作为密码。因此,我假设 Keystore Explorer 自动使用 changeme 作为密码,因为我提供了它作为 JKS 密钥库密码。
诚然,我不是使用 JKS 和理解复杂的安全性的专家,但这个让我很难过。
我还尝试使用以下命令使用 Keytool 更改密钥库密码:
keytool -storepasswd -keystore myJKS.jks
和
keytool -keypasswd -alias myalias -keystore myJKS.jks
但是当我尝试更改别名时,我得到:
keytool error: java.io.IOException: Keystore was tampered, or password is wrong
我做错了什么?
谢谢
【问题讨论】:
标签: java spring-boot keystore explorer jks