Lucee 错误 - java.security.cert.CertificateException:没有可用的 X509TrustManager 实现

Lucee Error - java.security.cert.CertificateException: No X509TrustManager implementation available

在将 ACF 网站转换为 Lucee 时,我们遇到了一些配置问题。我们的环境是Lucee5, Tomcat7, and Java.

为了让 Lucee 能够通过 SSL 访问端点 Web 服务,似乎配置不正确。相同的代码在不同 Tomcat 容器中的同一服务器上的 CF9 上没有任何问题。

测试调用:

cfhttp(method="GET", charset="utf-8", url="https://our_lucee_server.org/wf/webservice/wf_webservice.cfc?wsdl", result="result") {
}
writeDump(result);

结果:

java.security.cert.CertificateException: No X509TrustManager implementation available

有人建议为 WSDL 服务的端点是问题所在,需要配置 Tomcat 或 Apache。由于 Lucee 是抛出错误的程序,我如何确定是什么阻止了 Lucee 访问端点?

可以从浏览器访问 WSDL 没有问题。

我们尝试过的事情。

我认为这可以通过导入您尝试访问的站点的证书并将其添加到 java home / jre / lib / security 文件夹来解决...

由于未知原因,您尝试访问的站点的证书不受信任,因此需要将其添加到信任库中。

我们的最终解决方案是 运行 以下两个命令。 这是 CentOS7,Java 8,Tomcat,Lucee5 设置 ...

第 1 步:备份 lucee 密钥库:

mv /opt/tomcatxxx/webapps/xxxx/WEB-INF/lucee-server/context/security/cacerts /opt/tomcatxxx/webapps/xxxx/WEB-INF/lucee-server/context/security/cacerts.bak

(其中 /opt/tomcatXXX/webapps/XXX/WEB-INF/ 是 lucee 实例的路径)

第 2 步:在 java 密钥库和 lucee 密钥库

之间创建一个符号 link
ln -s /opt/tomcatxxx/conf/s2s-ubertruststore_01_10_18.jks /opt/tomcatxxx/webapps/xxxx/WEB-INF/lucee-server/context/security/cacerts

本质上,Lucee5 附带的密钥库不是开箱即用的。 将 lucee 密钥库指向工作 Java 密钥库修复它。

第 3 步: 重新启动 Tomcat 和 lucee