首先,我需要帮助,在我找不到正确答案的任何 stackoverflow 帖子中。
我正在尝试使用 Keytool 和 Certbot 在 Tomcat 服务器中设置我的 Web 应用程序
首先,我使用 Certbot 并生成了各自的 .pem 文件(privkey.pem、fullchain.pem 等)。
之后我做了以下步骤:
使用 OpenSSL 将我的 privkey.pem 添加到 JKS
我的密码太简单了“123456”,不可能忘记。 (我只是在尝试)
之后,我将 pkcs12 转换为 JKS:
最后将chain.pem 添加到我的 keystore 。在这一步中,我输入之前输入的密码。我得到了消息:
keytool error: java.io.IOException: Keystore was tampered with, or password was incorrect
如果我在 Tomcat 服务器中使用连接器 8443 和我的 keystore 编辑我的 server.xml 文件,那么当我启动服务器时,我在 catalina.out 中得到相同的错误。
最佳答案
您的MyDSKeyStore.jks
的密码文件是'-destkeypass',由于的方式 key 工具 解析您使用的第二个命令行:-deststorepass
后面应该是密码。在您的情况下,它后面是 -destkeypass
.
备注:你的问题似乎是 na XY problem :您想使用 PEM 格式的证书配置 Tomcat SSL 连接器,因此您询问如何将 PEM 证书转换为 JKS。虽然您显示的过程几乎是正确的,但它在现代 Tomcat 上毫无用处(参见 this answer ):Tomcat 至少从 5.5 版开始支持 PKCS12 文件,并且从 8.5 版开始支持 PEM 格式的证书。无需转换任何内容。
关于java - Tomcat、OpenSSL、SSL 错误,keytool : Keystore was tampered with, 或密码不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66691638/