2008-10-15 5 views
1

Мне нужно использовать шифрование (и подпись) для веб-службы (на стороне сервера). Я использую axis2 и успешно добавил модуль rampart (для реализации WS-Security). Но страница вагона (http://ws.apache.org/axis2/modules/rampart/1_2/security-module.html) отсутствует примеры, и файл примера на самом деле не документирован. Итак, мой вопрос: какой самый простой способ добавить шифрование (и подпись)? что мне нужно положить в services.xml, мне нужно написать policy.xml? Что я должен предоставить разработчику клиента (в дополнение к WSDL)? Если вы можете указать мне хороший учебник, было бы полезно, спасибо и т. Д.Шифрование сообщения SOAP в Axis 2

ответ

3

Можно ли просто использовать SSL (https)? Это, безусловно, упростит ситуацию.

1

Vinze - Я столкнулся с этой проблемой и с валом, хотя я не пытался разоблачить веб-сервис, просто позвони один. (См. this question).

Я обнаружил, что все вещи безопасности веб-сервисов не сбивают с толку, и это не помогает тому, чтобы этот вал плохо документирован (никаких хороших учебников, как вы упомянули).

Возможно, вам удастся написать API WSS4J, а не использовать вал. (Кстати, я думаю, что вал построен поверх WSS4J).

Что касается того, что предоставить разработчику клиента, это может быть проще для него, если вы поместите информацию о политике в wsdl вместо отдельного policy.xml. Но вы, вероятно, должны планировать предоставить ему/ей документацию о том, как ваш сервис защищен, чтобы он/она знал, как его назвать.

+0

Да, с помощью функции поиска много решений, я понял, что политика должна в файле WSDL; но я сгенерирую его с помощью задачи Axis для Java2WSDL ant, и я не знаю, как это сделать ... возможно, мне придется самому написать WSDL! Написание службы с правильным API вместо POJO также является решением, которое я собираюсь – Vinze 2008-10-20 09:31:10

0

я нашел ответы на многие вопросы в этой книге: http://agileskills2.org/DWSAA/index.html (глава 9) Таким образом, даже если бы я не закончил, я постараюсь ответить на мой собственный вопрос:

  • Даже если политика в WSDL текущая версия Axis 2 (1.4) не смотрят на нее, поэтому вы должны добавить политику и конфигурацию rampart в services.xml
  • Вы должны написать rampart-config.xml для клиента и «задействовать» модуль в ConfigurationContext, используемый в качестве аргумента для конструктора заглушки
  • Для обоих вам нужно хранилище ключей (например, J KS) и сертификат

Может быть больше, я буду редактировать этот ответ, когда я добиться успеха ...