【问题标题】:Lucee Error - java.security.cert.CertificateException: No X509TrustManager implementation availableLucee 错误 - java.security.cert.CertificateException:没有可用的 X509TrustManager 实现
【发布时间】:2019-01-15 02:21:00
【问题描述】:

在将 ACF 网站转换为 Lucee 时,我们面临一些配置问题。我们的环境是 Lucee5、Tomcat7 和 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 服务器。

【问题讨论】:

  • 另外 - 从 CF9 实例调用 WSDL URL - 两个 CFHTTP 请求都可以正常工作。当从 Lucee 实例发出请求时……它们都失败了。如果端点出现问题,不应该都失败吗?

标签: java tomcat ssl lucee


【解决方案1】:

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

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

【讨论】:

  • 我有过这样的建议,但事实并非如此。从同一个盒子(同一个 TLD)上的一个 CF9 实例对任一 WSDL 的调用都可以正常工作。从 Lucee - 到工作中的 CF9 实例的调用失败。问题在于 Lucee。
  • 我在搜索中发现这个可能对 dev.lucee.org/t/cant-consume-web-service/1585/8 有帮助
【解决方案2】:

我们的最终解决方案是运行以​​下两个命令。 这是为 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 密钥库之间建立符号链接

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

【讨论】:

    猜你喜欢
    • 2014-04-23
    • 2015-12-08
    • 2019-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-27
    • 1970-01-01
    相关资源
    最近更新 更多