JBoss перезагрузить сертификат доверенного хранилища без перезапуска - PullRequest
4 голосов
/ 02 декабря 2010

Есть ли способ перезагрузить хранилище доверенных сертификатов в JBoss 4.2 без перезапуска?

Я пытаюсь вызвать EJB-вызов веб-службы на удаленном сервере с помощью ssl и вижу аналогичную проблему с SSLHandshakeException, как в статье ниже.То, что мы пытаемся сделать, заключается в следующем и включает три машины: A сервер JBoss, выступающий в роли клиента веб-службы для серверов B и C.

1) На A пользователь вводит имя хоста для B. Компьютерна A получает самозаверяющий сертификат B и устанавливает его в хранилище доверенных сертификатов (с помощью сценария внешней оболочки).

2) Соединение с сокетом SSL устанавливается на B, на котором оно указывает на хранилище сертификатов.загружен с этой первой попытки.Соединение установлено успешно, и все работает.

3) Снова на A пользователь делает то же самое, что и на 2, сценарий оболочки получает сертификат C и устанавливает его в хранилище доверенных сертификатов.Тем не менее, при подключении к C, кажется, что (включив javax.net.debug = ssl) склад доверенных сертификатов не «перезагружен» и не находит сертификат C, и мы получаем исключение SSLHandshakeException.При перезапуске JBoss загружается «обновленное» хранилище доверенных сертификатов, и соединение с B и C. работает.

Хотелось бы сделать это без перезапуска JBoss и понять, что приведенная выше схема неверна.Если бы кто-то мог указать мне документацию для правильного способа динамического обновления хранилища доверенных сертификатов, это было бы очень полезно.

Проблема вызова веб-службы изнутри службы JBOSS EJB

Ответы [ 2 ]

1 голос
/ 11 декабря 2010
0 голосов
/ 15 декабря 2010

Наличие одного EJB-компонента для добавления самозаверяющих сертификатов (при взаимодействии с пользователем) в используемое хранилище доверенных сертификатов Jboss не является хорошей идеей с точки зрения безопасности.

Более чистое решение - позволить клиенту Webservice использовать пользовательскую реализацию X509TrustManager или, альтернативно, пользовательскую SSLSocketFactory .В обоих случаях вы можете самостоятельно решить, какому сертификату доверять.Это позволит вам управлять собственным хранилищем доверия, действительным только для этого EJB и соответствующего WS-вызова.

См. Также: http://www.howardism.org/Technical/Java/SelfSignedCerts.html

...