我无法找到在执行 CSR 时生成的 keystore ,因此我通过创建新的 keystore 导入了根证书和域证书。域证书的别名是“tomcat”。我已经编辑了 server.xml 文件以指向新的 keystore ,并且 keyAlias 指定为“tomcat”
但是,当尝试连接时,curl 会抛出“SSL 连接错误”。当我查看 Catalina 日志时,我得到了以下行 -
java.io.IOException:别名 [tomcat] 无法识别 key 条目
我尝试过不同的 keystore 格式,甚至使用 java cacerts 作为 keystore 。但没有任何作用。
有人可以帮忙吗?
最佳答案
我通过从头开始进行 SSL 设置解决了这个问题。
- 使用 java keytool 生成 keystore 。这将生成公钥和私钥对。
- 使用它,我创建了一个 CSR 并将其交给提供新证书集的 CA(证书颁发机构)
- 我导出了步骤 1 中获得的私钥,并将私钥、从 CA 收到的证书组合起来生成新的 keystore (.pfx 文件),并将我的 Tomcat 指向新的 keystore 。
注释:
- 我在将证书导入使用 java keytool 创建的 keystore 时遇到问题。无论我使用什么方法 Tomcat 最终都无法在 keystore 中找到该证书
- 作为解决方法,我从 keystore 导出私钥(使用 keystore 资源管理器应用),然后使用 open ssl 组合私钥和公钥
- 使用 open ssl 时,如果 CA 提供链证书,请将根证书和中间证书捆绑到单个文件中,然后使用它
关于tomcat - 别名 [tomcat] 不识别键条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48382480/