0

我最近在我的公司接手了一项任务,该任务涉及实现一个当前在员工的 Windows 桌面上运行的应用程序,并将该代码迁移到用于办公室的 Unix 服务器。

该服务器还运行 IBM 的 websphere,其中包含许多公司较大的 web 应用程序并使用 java 1.6。

除了组织方面(这是一家巨大的公司,大部分编码看起来像意大利面西部,如果人们不了解旧的遗留系统,我不会感到惊讶),我的计划只是降级代码(其中就像从 1.7 到 1.6 一样简单),然后将此应用程序移动到可运行的 jar 中,并通过 shell 脚本调用它。

然而,我现在意识到为什么这个应用程序从未迁移到我们的生产服务器,因为我无法让这个东西在 UNIX 系统中运行。

首先,我遇到了一个问题(我可能对此错了)用作应用程序一部分的 SSL 连接引发错误(与此问题相同的错误:Error access a Web Service with SSL)经过一番阅读,似乎无法完成在带有 Websphere 的服务器上运行的任何 java 应用程序(如果应用程序不在 websphere 中),因此您必须手动设置一些 java 安全属性来执行此操作(我在 main 方法的开头就这样做了) .

这样做之后,我克服了最初的错误,但我现在收到了这个错误

"com.ibm.jsse2.util.j: PKIX path validation failed: java.security.NoSuchProviderException: no such provider: IBMCertPath"

如果这已经被问过,我很抱歉,但我似乎无法找到它。请在此处链接,我将关闭问题。

4

1 回答 1

2

您收到错误是因为某些东西已指定使用 IBMCertPath 提供程序,但 java 安全性不知道该提供程序是什么。

您需要确保 com.ibm.security.cert.IBMCertPath 在您的 java.security 文件的提供者列表中。看:

https://www-01.ibm.com/support/knowledgecenter/SSYKE2_6.0.0/com.ibm.java.security.component.60.doc/security-component/gen_info_sec_prov.html

于 2015-08-05T23:39:31.013 回答