Я использую JBoss 4.2.3.GA. В предыдущей задаче я использовал базовый механизм шифрования, который поддерживает JBoss (WS-Security). То есть Я использовал keystore, файлы доверия для шифрования и подписания сообщений. Как обычно (стандартным образом) в файлах jboss-wsse- * были определены псевдонимы ключей, которые должны использоваться во время процесса склепа. Я использовал конфигурацию безопасности ws от JBoss в книге действий.
Это хорошо. Шифрование работает нормально.
Но в моей текущей задаче мне нужно указать псевдонимы для ключей вручную и динамически. Описание задачи:
-
У меня есть несколько профилей. В каждом профиле может быть специфицирован псевдоним открытого ключа, который должен использоваться для шифрования сообщения.
-
У меня есть хранилище ключей, содержащее закрытый/открытый ключ сервера и открытых ключей клиентов, который отправит сообщение на сервер
-
Мне нужно получить псевдоним из профиля и зашифровать сообщение (на стороне клиента) с помощью открытого ключа, указанного этим псевдонимом.
- Так что мне нужно как-то загружать данные из хранилища ключей (он должен находиться в папке файловой системы, то есть вне файла уха), получить от него соответствующий открытый ключ и затем выполнить шифрование.
- После этого мне нужно отправить сообщение удаленной веб-службе (серверной стороне), имеющей закрытые ключи для дешифрования.
- Здесь я вижу несколько вариантов для логики на стороне сервера: веб-служба делает дешифрование с использованием стандартного механизма JBoss, или я могу вручную загрузить данные хранилища ключей и выполнить дешифрование вручную.
Итак, вопросы касаются:
- Есть ли способ указать JBoss каталог файловой системы для загрузки хранилищ ключей из?
- Могу ли я указать псевдоним для шифрования для стандартного механизма JBoss WSS, чтобы позволить jboss использовать эту информацию в процессе шифрования?
- Если мне нужно выполнить ручное шифрование/дешифрование, то как я могу обернуть несколько Java-объектов в сообщение WS и, затем зашифровать его с помощью необходимого псевдонима и, как отправить это сообщение удаленной веб-службе вручную?
Я просто не знаю, как начать, какую структуру использовать и даже необходимо использовать внешние (не JBoss) фреймворки для этого...