WebSphere не может найти действительный путь сертификации для запрошенной цели - PullRequest
0 голосов
/ 04 октября 2019

У меня есть сервер WebSphere 9 для тестирования веб-приложений на моем ноутбуке. У меня также есть Hybris под управлением Tomcat на моем ноутбуке (также для тестирования). Я написал веб-приложение на Java для тестирования функций punchout в Hybris, которое работает на моем сервере WebSphere. Это работало, но мне пришлось переустанавливать WebSphere. С тех пор, когда я пытаюсь запустить свое веб-приложение в WebSphere, я получаю эту ошибку в WebSphere:

javax.net.ssl.SSLHandshakeException: com.ibm.jsse2.util.h: путь PKIXсбой здания: java.security.cert.CertPathBuilderException: невозможно найти действительный путь сертификации для запрошенной цели

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

В административной консоли WebSphereЯ использовал кнопку «получать из порта», чтобы получить самоподписанный сертификат от Hybris в nodedefaultTrustStore в WebSphere. Hybris находится по адресу apply.local: 9002 на моем ноутбуке, и сертификат выглядит следующим образом:

CN = apply.local, OU = apply.local, O = apply.local, L = apply.local, ST = WI, C = us Действителен с 17 июля 2019 года по 11 апреля 2022 года.

Все это работало ранее, но я, должно быть, что-то сломал. Я должен что-то упустить. Я не понимаю, почему он не может «найти действительный путь сертификации» для application.local, поскольку CN - это application.local, а сертификат находится в хранилище доверенных сертификатов в WebSphere.

1 Ответ

0 голосов
/ 07 октября 2019

Я заставил это работать, но я не знаю, почему я должен был сделать это, чтобы заставить это работать. Если кто-то может объяснить, почему - это было бы здорово. В любом случае вот что я сделал:

  1. Добавлены пользовательские переменные в WebSphere, чтобы определить, где находятся cacerts, но значения по умолчанию должны были сработать, поэтому не уверен, оказал ли это какое-либо влияние. В консоли администратора серверы приложений> server1> Java и управление процессами, определение процесса, виртуальная машина Java, свойства клиента: javax.net.ssl.truststore (путь к cacerts в WebSphere), javax.net.ssl.truststoretype jks и javax.net.ssl.trustStorePassword changeit.
  2. Использовал браузер для экспорта самозаверяющего сертификата, который Hybris использовал в файл.
  3. Использовал Ikeyman для импорта сертификата в cacerts. (Инструкции о том, как это сделать, есть на страницах IBM).
  4. Перезапустил WebSphere и Hybris и снова выполнил публикацию из WebSphere в Hybris.

Что не имеет смысла для меня, так это то, что я ранее импортировал самоподписанный сертификат Hybris, используяКнопка «Извлечь из порта» в консоли администратора для NodeDefaultTrustStore. Раньше это работало, но теперь, по-видимому, я должен импортировать его также в кадры или вместо этого?

...