использование модуля axis2 ramaprt с собственной структурой безопасности - PullRequest
5 голосов
/ 06 октября 2011

У меня есть веб-сервис (на стороне сервера), реализованный с использованием axis2 в моем проекте. Мы хотим включить WS-безопасность в существующих веб-сервисах. Мы оцениваем, соответствует ли модуль apache ramapart нашим потребностям. Вот наше требование: По сути, у нас есть собственная структура безопасности, которая обеспечивает возможности шифрования, подписи и генерации токенов. Наша внутренняя инфраструктура безопасности в основном требует набора конфигураций в форме XML и предоставляет различные API для выполнения различных операций безопасности.

Теперь, с учетом вышеизложенного, я могу придумать три возможных решения: -

  1. Я могу разработать модуль axis2 для внутренней системы безопасности и установить его как файл .mar на этапе безопасности. Поэтому я не буду использовать Apache Rampart. Но проблема с этим подходом заключается в том, что я не могу использовать политику ws-security, чтобы указать утверждения безопасности и убедиться, что входящие токены безопасности соответствуют эффективной политике. Это как изобретать колесо, что вал уже делает.

  2. Я полагаю, что apache rampart подчеркивает вызов модуля apache wss4j для операций безопасности. Я считаю, что модуль apache wss4j предоставляет способ регистрации стороннего поставщика безопасности (путем реализации интерфейса CryptoProvider). Я не уверен, что это выполнимое и жизнеспособное решение. Пожалуйста, предложите.

  3. Политика безопасности Ws позволяет использовать собственный токен. Этот пользовательский токен может быть создан с использованием нашей внутренней системы безопасности. Таким образом, в основном это позволяет нам создавать политику безопасности ws с помощью модуля apache rampart и разрабатывать собственные токены с использованием нашей инфраструктуры безопасности. Но я не мог найти помощь по этому поводу в интернете. Может ли кто-нибудь, пожалуйста, помогите с примером.

любые другие предложения также приветствуются.

1 Ответ

1 голос
/ 24 января 2012

Я разместил ответ здесь: Как зашифровать SOAP-сообщения вручную?

Существует очень подробный пример, который может оказаться полезным.

Вы можете установить поставщика с помощью:

cryptoConfig.setProvider(PROVIDER); 

Что касается пользовательских заголовков безопасности, извините, но я не пробовал, поэтому не могу вам помочь.

...