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 没有问题。
我们尝试过的事情。
正在使用 Lucee 服务器管理将 SSL 从目标域导入 Lucee 并重新启动。
使用 CommandBox 启动 Lucee 实例,然后将 cacerts 文件从 CommandBox 复制到 Lucee 服务器。
我认为这可以通过导入您尝试访问的站点的证书并将其添加到 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
在将 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 没有问题。
我们尝试过的事情。
正在使用 Lucee 服务器管理将 SSL 从目标域导入 Lucee 并重新启动。
使用 CommandBox 启动 Lucee 实例,然后将 cacerts 文件从 CommandBox 复制到 Lucee 服务器。
我认为这可以通过导入您尝试访问的站点的证书并将其添加到 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 密钥库
之间创建一个符号 linkln -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