我最近在我的公司继承了一项任务,该任务涉及实施一个目前正在运行员工的Windows桌面的应用程序,并将该代码迁移到用于办公室的Unix服务器。
该服务器还运行IBM的websphere,其中包含许多大型Web应用程序并使用java 1.6。
除了组织要点(这是一家巨大的公司,大部分编码看起来像西方意大利面,如果人们不知道,旧的遗留系统我不会感到惊讶),我的计划只是降级代码(这很简单,因为它从1.7到1.6),然后将此应用程序移动到一个可运行的jar,并通过shell脚本调用它。
但是,我现在意识到为什么这个应用程序从未迁移到我们的生产服务器,因为我无法在UNIX系统中运行它。首先,我遇到了一个问题,其中(我可能错了)用作应用程序一部分的SSL连接会引发错误(与此问题相同的错误:here)经过一些阅读后,它似乎任何在带有Websphere的服务器上运行的java应用程序(如果应用程序不在websphere中)都无法完成,因此你必须手动设置一些java安全属性来执行此操作(我在主方法的开头就做了) )。
完成后,我遇到了初始错误,但我现在收到此错误
"com.ibm.jsse2.util.j: PKIX path validation failed: java.security.NoSuchProviderException: no such provider: IBMCertPath"
如果已经提出这个问题,我很抱歉,但我似乎无法找到它。请在此处链接,我将关闭此问题。
答案 0 :(得分:2)
您收到错误是因为某些内容已指定使用IBMCertPath提供程序,但java安全性不知道该提供程序是什么。
您需要确保com.ibm.security.cert.IBMCertPath位于java.security文件的提供程序列表中。参见: