2015-08-05 14 views
0

Я недавно унаследовал задачу в своей компании, которая включает в себя внедрение приложения, которое в настоящее время работает на рабочем столе рабочего стола сотрудника, и перенос этого кода на Unix Server, используемый для офиса.Java/Websphere NoSuchProviderException: IBMCertPath

На сервере также размещена веб-страница IBM, в которой содержатся многие крупные веб-приложения компании и использует java 1.6.

Относительные организационные моменты (это огромная компания, и большая часть кодирования выглядит как спагетти в западном масштабе, со старыми унаследованными системами я не был бы удивлен, если люди не имеют никакого представления), мои планы были просто понижены код (который был простым, как это было от 1,7 до 1,6), затем переместите это приложение в исполняемую банку и вызовите ее через скрипт оболочки.

Я, однако, понимаю, почему это приложение никогда не переносилось на наш производственный сервер, так как я не могу получить эту вещь для запуска в системе UNIX.

Во-первых, я столкнулся с проблемой, когда (и, возможно, я ошибаюсь), SSL-соединения, используемые как часть приложения, вызывают ошибку (такая же ошибка, как и этот вопрос: Error accessing a Web Service with SSL). После некоторого чтения кажется, что любой Java-приложение, запущенное на сервере с Websphere (если приложение не находится в websphere) не может быть выполнено, и поэтому вам нужно вручную установить некоторые свойства безопасности Java для этого (что я сделал прямо при открытии моего основного метода).

После выполнения этого я пройти мимо начальной ошибки, но теперь я получаю эту ошибку

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

Если это уже было предложено, я извиняюсь, но я не мог ее найти , Пожалуйста, напишите здесь, и я закрою вопрос.

ответ

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

+1

Это правильно, хотя я думал, что я проверил его. Я должен был проверить правильный каталог $ JAVA_HOME (я искал неправильный файл). В правильном файле были ошибки орфографии в этой строке поставщика от кого-то, редактирующего его, в результате чего он отсутствовал. Спасибо за ваш ответ в любом случае –