Как добавить провайдера безопасности SunJSSE в сервер приложений Websphere - PullRequest
0 голосов
/ 07 февраля 2020

Я пытаюсь использовать сторонний JAR с таким кодом:

KeyStore.getInstance("PKCS12", "SunJSSE");

При запуске кода на сервере приложений Websphere происходит сбой с

java .security.NoSuchProviderException: такого провайдера нет: SunJSSE

Поставщик PKCS12 в мире IBM является IBMJCE Provider. Будет ли работать замена для SunJSSE на com.ibm.jsse2.IBMJSSEProvider2 в java .security файле? Даже если это так, это лучший способ заставить это работать?

1 Ответ

0 голосов
/ 12 февраля 2020

Отвечая на мой вопрос здесь.

Будет ли работать замена для SunJSSE на com.ibm.jsse2.IBMJSSEProvider2 в java .security файле?

Да.

Даже если это так, это лучший способ сделать эту работу?

Нет. Причина от IBM.

  1. IBM не поддерживает проблемы с кодом JSSE или JCE корпорации Sun или другой стороны. Поддерживаются только поставщики IBM JSSE и JCE.

  2. WebSphere поддерживает JSSE и JCE "каркас поставщиков", что означает, что можно подключить несколько поставщиков. Это означает, что клиенты должны иметь возможность подключить JSSE или JCE Sun (или других поставщиков) к платформе IBM. Если его нельзя подключить к платформе, то IBM будет расследовать проблемы только с платформой.

Принудительный провайдер - плохая практика. Oracle документы так говорят here

Приложения общего назначения НЕ ДОЛЖНЫ запрашивать криптографические c сервисы у указанных c провайдеров

getInstance("...", "SunJCE"); // not recommended
// ... versus ...
getInstance("..."); // recommended

В банке третьей стороны, с которой у меня были проблемы Итак, я мог бы внести изменения и заменить нарушающий код.

...