【发布时间】:2018-06-19 09:52:16
【问题描述】:
我有一个使用 keytool 生成的带有 2 个密钥的 JKS。 2 个密钥具有不同的密码,而 JKS 密码又与这 2 个密码不同。
如果密钥库中只有一个密钥,它会按预期工作。但是使用不同的密码添加另一个会导致UnrecoverableKeyException。如果两个密钥具有相同的密码,它仍然可以正常工作。
查看与此相关的一些问题:Java keystore with multiple keys and different passwords、Caused by: java.security.UnrecoverableKeyException: Cannot recover key 似乎解决方案是使用相同的密码。但这意味着为不同的密钥设置不同的密码是没有意义的。我们可以为整个密钥库设置一个密码并保留它。
查看Tomcat,它似乎也遵循这种方法,即为商店和密钥使用相同的密码。
这是 JDK 施加的限制吗?有没有办法让不同的密钥使用不同的密码?
【问题讨论】:
-
JDK 允许不同的密码;这就是为什么(以及如何)keytool 可以创建它。 Tomcat 低于 8.5 没有。使用不同密码的方法是使用Tomcat以外的一些网络服务器,或者使用配置了多个(显式)
SSLHost和Certificate项的Tomcat 8.5 up。注意 Tomcat 6 一年多前正式死亡。 -
啊抱歉,我什至没有意识到我正在查看旧版本。该链接在我提到的其中一个问题的讨论中。
标签: java tomcat ssl keystore jks