2010-12-02 10 views
3

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

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

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

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

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

После перезагрузки JBoss загружен «обновленный» магазин доверия и работает соединение с B и C.

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

Problem calling web service from within JBOSS EJB Service

ответ

0

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

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

Смотрите также: http://www.howardism.org/Technical/Java/SelfSignedCerts.html