更新到 Java 8 v 60 后出现 CF10 Web 服务错误

CF10 web service error after updating to Java 8 v 60

我有一个 Web 服务,在我们使用 Java 7 版本 75 时一直运行良好。我们最近更新到 Java 8,现在我们在 Web 服务上收到此错误: PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到请求目标的有效证书路径

这是完整转储:

   Charset  [empty string]
   ErrorDetail  I/O Exception: sun.security.validator.ValidatorException:    PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
   Filecontent  Connection Failure
   Header   [empty string]
   Mimetype Unable to determine MIME type of file.
   Responseheader  ws dump - struct [empty]
   Statuscode   Connection Failure. Status code unavailable.
   Text YES

我们已经更新了证书,并且证书已重新导入到正确的密钥库中,并使用 keytool -list 验证它在那里并重新启动,但仍然出现身份验证错误。

我看到这通常可以通过重新安装证书来解决,但没有奏效。许多修复此错误的建议建议在 CF Admin 中安装 Certman。我们安装了它并导入了证书,但仍然是同样的错误。我们的解决方法是回滚到 Java 7 版本 75,这样这个网络服务就可以工作了,但是我们需要尽快更新到最新版本的 Java 这样我们的图表就可以再次工作,显然出于安全原因。有什么建议吗?

统计数据:

Java 开发工具包 8 v 60, ColdFusion 10 修补程序 17, Windows 服务器 8

****更新***** 阅读下面 Sean Coyne 的回答后,我与我们的网络管理员进行了交谈。他们已经将 tools.jar 文件复制到 lib 文件夹中。他们删除了存根文件夹并重新启动了 CF 服务器,但我们仍然遇到相同的错误。我拜访了他们,他们向我展示了证书确实在密钥库中。

如此处所述:https://helpx.adobe.com/coldfusion/kb/coldfusion-mx-troubleshooting-scheduled-tasks.html 当我 运行 Web 服务时,我们向 jvim.config 添加了一些调试。调试指出与其中一个证书的握手无效。搞什么!

我问我们是否可以在 CF Admin 的证书管理器中看到证书。毕竟它没有安装。所以 NA 在 CF Admin 中安装了 CertMan 插件。使用 CertMan 导入证书并重新启动 CF 服务器后,Web 服务就可以正常工作了。

我认为按照 Sean Coyne 在下面的建议并确保安装了 CertMan 以便我们可以导入证书,这就是为我们解决问题的方法。

您可能需要删除存根。这些在 [cfroot]/cfusion/stubs 中。只需停止 CF,删除该目录中的所有文件,然后重新启动 CF。

另外,您需要将 tools.jar 文件从 JDK 安装复制到 [cfroot]/cfusion/lib/tools.jar 的 lib 文件夹中。首先备份现有 tools.jar 文件,然后从 [jdk root]/lib/tools.jar.

复制

参考:http://blogs.coldfusion.com/post.cfm/coldfusion-10-and-11-support-with-java-8