Файл `p12` работает в Firefox RestClient, но не работает в WebSphere - PullRequest
0 голосов
/ 30 апреля 2019

У меня есть веб-приложение java, которое работает в WebSphere, и для получения ответа ему нужно вызвать стороннюю службу (IBM).

Сначала IBM дает мне файл p12, содержащий клиентсертификат, и я проверяю его в Firefox RestClient, вызов успешен, и я получаю код ответа 200 в RestClient.Иначе я получу 403 запрета.Так что это доказательство того, что p12, предоставленное третьей стороной, является правильным.Пожалуйста, исправьте меня, если мое утверждение неверно.

Таким образом, я с удовольствием импортирую этот p12 файл в мой CellDefaultKeyStore, чтобы проверить соединение с моим приложением.К сожалению, после того, как я импортирую этот файл p12, состояние узлов становится «неизвестным», и я даже не могу их «синхронизировать».И когда я проверяю журнал сервера, я вижу

com.ibm.jsse2.util.j: PKIX path building failed: java.security.cert.CertPathBuilderException: PKIXCertPathBuilderImpl could not build a valid CertPath.; internal cause is: 
    java.security.cert.CertPathValidatorException: The certificate issued by xxx is not trusted; internal cause is: 
    java.security.cert.CertPathValidatorException: Certificate chaining error

После этого я удаляю его из CellDefaultKeyStore, пытаюсь импортировать его в NodeDefaultKeyStore, проблема с узлом исчезла, узел может синхронизироваться и мое приложениеможет успешно позвонить третьей стороне.Я думаю, что это сделано для моей работы сегодня, однако, это решение не является стабильным, оно работает только несколько раз, а не каждый раз.Через некоторое время состояние узла все равно станет «неизвестным», или, если я запусту ./stopManager.sh и ./startManager.sh, проблема узла немедленно вернется.

Я попытался запустить ./stopNode.sh и ./startNode.sh в журнале этого скрипта 2 нет ошибок.Но пользовательский интерфейс консоли WAS там все еще показывает состояние unknown, и я даже не могу остановить запуск моего сервера через консоль WAS.

Сначала я думаю, что, возможно, проблема с отображением, но эта проблема будет решена, если я удалюфайл p12 из моего NodeDefaultKeyStore.

Я пробую Google, но в итоге все равно не могу найти подсказки.Я не уверен, что моя конфигурация или файл p12 имеют проблему.

К какому журналу следует обратиться, чтобы узнать, почему состояние узла станет unknown, или что еще я могу продолжать отлаживать / устранять неполадкина этом?

1 Ответ

0 голосов
/ 02 мая 2019

Вы получили сертификат для внешней службы и хотите, чтобы код в Websphere подключался к этой службе, верно? В хранилище ячеек по умолчанию не размещаются сертификаты внешнего подключения.

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

Вы можете сделать это через консоль или с помощью iKeyman прямо в файле.

При этом не связывайтесь с сертификатом по умолчанию в хранилище ключей по умолчанию. @dbreaux прямо в комментариях.

...