Содержание


Передача функций защиты Web-сервисов на платформе WebSphere устройствам IBM WebSphere DataPower SOA Appliance

Часть 1. Настройка клиента Web-сервиса и сервиса для асимметричной защиты

Comments

Серия контента:

Этот контент является частью # из серии # статей: Передача функций защиты Web-сервисов на платформе WebSphere устройствам IBM WebSphere DataPower SOA Appliance

Следите за выходом новых статей этой серии.

Этот контент является частью серии:Передача функций защиты Web-сервисов на платформе WebSphere устройствам IBM WebSphere DataPower SOA Appliance

Следите за выходом новых статей этой серии.

Системные требования

Для работы с данной статьей необходимы следующие программные продукты:

  • WebSphere Application Server V6.1 с пакетом функций Web Services Feature Pack.
  • IBM Rational Application Developer V7.0.0.6 или более новой версии.
  • Удостоверения защиты для Web-сервисов в виде хранилищ ключей JCEKS, закрытых ключей или открытых сертификатов, необходимых для определенных криптографических операций.

В этой статье

В этой статье рассматриваются следующие темы:

  • Развертывание и настройка защищенных Web-сервисов с использованием асимметричного шифрования.
  • Использование Rational Application Developer для импорта эталонного EAR-файла, а также для настройки политик безопасности Web-сервисов и вложений связываний для клиента Web-сервиса.
  • Использование консоли WebSphere Application Server для настройки политик безопасности примера сервиса.
  • Подготовка JCE (Java™ Cryptography Extension) и удостоверений защиты JCEKS.

Пакет функций Web Services Feature Pack for WebSphere Application Server V6.1 расширяет возможности Web-сервисов и обеспечивает асинхронную, надежную и защищенную отправку сообщений. Эта расширенная функциональность поддерживает основные стандарты Web-сервисов, что обеспечивает гибкость взаимодействия с многочисленными предложениями различных производителей программного обеспечения. В числе поддерживаемых стандартов:

  • Java API for XML Web Services (JAX-WS)
  • WS-Security
  • WS-Addressing
  • WS-Reliable Messaging
  • WS-Secure Conversation
  • SOAP Message Transmission Optimization Mechanism (MTOM)

Данная модель предоставляет механизм Web-сервисов для гибкой настройки с использованием таких разных стандартов. Для упрощения тонкой настройки обработки Web-сервисов предоставляются политики и наборы политик.

WebSphere DataPower SOA Appliance - это специализированные сетевые устройства, помогающие защитить и ускорить обработку XML и Web-сервисов. Хотя WebSphere DataPower SOA Appliance обладают широким набором функциональных возможностей, в данной статье внимание сконцентрировано на аспектах их работы с Web-сервисами. Рассматриваются, в частности, такие связанные с Web-сервисами функциональные возможности, как защищенная обработка на уровне XML-сообщений для шифрования и дешифрования, подписание при помощи цифровой подписи и ее проверка, WS-Security, проверка корректности XML-схемы, поддержка управления Web-сервисами, а также подробное журналирование и аудит. Защищенная обработка XML может потребовать значительного количества вычислительных ресурсов. WebSphere DataPower SOA Appliance предлагают возможности обработки и защиты XML, которые могут быть недоступны в традиционных XML-механизмах. Передача устройствам WebSphere DataPower SOA Appliance выполнения частей запросов Web-сервисов, требующих интенсивной обработки, ускоряет работу и снижает нагрузку на Web-сервисы сервера приложений.

В Web Services Feature Pack for WebSphere Application Server V6.1 входят несколько политик и наборов политик безопасности Web-сервисов, поддерживающих разнообразные конфигурации защиты Web-сервисов. Эти политики и наборы политик можно выбирать и настраивать в консоли WebSphere Application Server. В консоли можно также создавать новые политики. Гибкая настройка смешанных уровней обработки Web-сервиса позволяет создавать специализированные уровни защиты и надежности. Более того, такой модульный подход позволяет обрабатывать части Web-сервиса по отдельности. В данной статье демонстрируется, как развернуть пример Web-сервиса и настроить набор политик WS-Security Default (по умолчанию) при помощи Rational Application Developer.

Во второй части данной серии статей будет рассматриваться вопрос разгрузки сервера и передачи устройствам WebSphere DataPower SOA Appliance некоторых модульных функций обработки WS-Security, в то время как остальная обработка Web-сервисов возлагается на сервер приложений. Это позволяет осуществлять в устройствах WebSphere DataPower SOA Appliance ресурсоемкую обработку, а на сервере приложений оставить обработку бизнес-логики приложения.

Политика WS-Security Default гарантирует целостность сообщения посредством подписывания цифровой подписью тела сообщения и его заголовков; при этом шифрование тела сообщения обеспечивает конфиденциальность. Применение политики WS-Security Default к развернутому Web-сервису настраивает механизм обработки Web-сервисов таким образом, что первоначальный запрос принимается модулем WS-Security. SOAP-сообщение обрабатывается и расшифровывается. Затем проверяется цифровая подпись. В случае успешной обработки сообщение отправляется в следующий модуль механизма Web-сервисов. Сгенерировав ответ для передачи клиенту, модуль WS-Security выполняет операции защиты в обратной последовательности. Генерируется цифровая подпись, которая помещается в SOAP-сообщение. Затем SOAP-сообщение шифруется согласно указанной политике, и запрос возвращается клиенту. На рисунке 1 приведен пример такой конфигурации Web-сервиса.

Рисунок 1. Конфигурация Web-сервиса с политикой безопасности по умолчанию
Рисунок 1. Конфигурация Web-сервиса с политикой безопасности по умолчанию
Рисунок 1. Конфигурация Web-сервиса с политикой безопасности по умолчанию

В данном сценарии все элементы SOAP-сообщения обрабатываются механизмом Web-сервисов Web Services Feature Pack for WebSphere Application Server V6.1. Среда исполнения WS-Security вставляется в цепочку обработки Web-сервиса во время развертывания приложения. Конфигурационные параметры, определяющие требуемые настройки WS-Security, указываются в дескрипторе развертывания. Эти параметры определяют схему построения цепочки обработки Web-сервиса. Их можно указать либо при помощи консоли WebSphere Application Server, либо при помощи Rational Application Developer. В данной статье рассматривается вариант с использованием Rational Application Developer.

Действия по настройке примера

В приведенных ниже действиях по настройке импорта и экспорта работающего примера клиента Web-сервиса используется Rational Application Developer. Данный сценарий может помочь освоить аспекты использования полностью настроенного клиентского приложения Web-сервиса для защищенной обработки. Клиент Web-сервиса на сервере приложений WebSphere устанавливается из консоли. В данном сценарии используются пример EchoService и удостоверения безопасности, поставляемые с Web Services Feature Pack for WebSphere Application Server V6.1. IBM Rational Application Developer содержит шаблоны политики WS-Security Default, которые мы будем использовать для настройки примера клиента Web-сервиса.

Конфигурация Web-сервиса WebSphere

Выполните следующие действия:

  1. Установите примеры Web-сервисов (в информационном центре описывается, как это сделать).
  2. Установите и настройте сервис и клиент EchoService.
  3. Запустите пример клиента, указав в адресной строке браузера http://localhost:9080/wssamplesei/demo.
  4. При указании типа сообщения Synchronous Echo результат должен выглядеть как повторение введенных строк.

Далее мы настроим связывания и политики WS-Security для проверки успешности защищенного обмена эхо-сообщениями. Используя готовые работающие настройки сервиса и клиента, мы упрощаем отладку, которая может понадобиться при выполнении более сложной настройки.

Настройка клиента Web-сервисов в Rational Application Developer

Ниже описывается использование Rational Application Developer для импорта файла WebSphere Application Server Web Services Feature Pack WSSampleClientSei.ear, настройки связываний и политики WS-Security Default, экспорта .ear-файла и развертывания его на сервере WebSphere Application Server.

  1. Запустите Rational Application Developer.
  2. Создайте новую рабочую область под названием MyEchoClient.
  3. Выберите File > Import.
  4. В папке J2EE выберите EAR-файл, затем нажмите кнопку Next.
    Рисунок 2. Импорт EAR-файла клиента Web-сервиса
    Рисунок 2. Импорт EAR-файла клиента Web-сервиса
    Рисунок 2. Импорт EAR-файла клиента Web-сервиса
  5. В поле EAR file найдите и выберите файл app_server_root/samples/lib/WebServicesSamples/WSSampleClientSei.ear, а затем нажмите Next.
  6. В панели New Server Runtime в поле Name в конце добавьте WSFP, чтобы указать использование среды исполнения Web Services Feature Pack.
  7. В поле Installation directory введите путь к установленному серверу.
    Рисунок 3. Новая среда исполнения сервера
    Рисунок 3. Новая среда исполнения сервера
    Рисунок 3. Новая среда исполнения сервера
  8. Нажмите Finish. Опять отобразится окно, показанное на рисунке 2.
  9. Снова нажмите Finish.
  10. В панели Project Explorer слева выберите и щелкните правой кнопкой мыши на SampleClientSei, а затем выберите Project Facets.
  11. Нажмите Add/Remove Project Facets.
  12. Выберите WebSphere 6.1 Feature Pack for Web Services.
  13. Нажмите Finish, а затем OK.
    Рисунок 5. Rational Application Developer Project Facets
    Рисунок 5. Rational Application Developer Project Facets
    Рисунок 5. Rational Application Developer Project Facets
  14. Создайте вложение набора политик для клиентского приложения, выбрав File > New > Other в главном меню.
  15. В мастере New разверните Web Services и Policy Set, затем выберите Client Side Policy Set Attachment.
    Рисунок 6. Создание вложений наборов политик на стороне клиента
    Рисунок 6. Создание вложений наборов политик на стороне клиента
    Рисунок 6. Создание вложений наборов политик на стороне клиента
  16. Нажмите Next.
  17. Нажмите Add, чтобы отобразить окно End Point definition Dialog. Введите следующую информацию:
    • Service Name: EchoService
    • Endpoint: EchoServicePort
    • Operation Name: echoOperation
    • Policy Set: WSSecurity default
    • Binding: MyWSSecurityBinding
  18. Нажмите OK.
    Рисунок 7. Определение связывания конечной точки
    Рисунок 7. Определение связывания конечной точки
    Рисунок 7. Определение связывания конечной точки

Теперь необходимо настроить конфигурацию связывания для цифровой подписи.

  1. В Digital Signature Outbound Message Security Configuration выберите WSSecurity, а затем Configure.
  2. В окне Outbound Message Security Configuration:
    • Введите STRREF в поле Key Information Type.
    • Введите http://www.w3.org/2001/10/xml-exc-c14n# в поле Transform Algorithm.
    • Нажмите кнопку Key Store Settings.
  3. В окне Key Store Settings Dialog:
    • Введите ${USER_INSTALL_ROOT}\etc\ws-security\samples\dsig-sender.ks в поле Keystore Path.
    • Введите client в поле Keystore Password.
    • В поле Keystore Type выберите JKS.
    • В поле Key Alias введите soaprequester.
    • В поле Key Password введите client.
  4. Нажмите OK.
    Рисунок 8. Клиентские настройки хранилища ключей для цифровой подписи
    Рисунок 8. Клиентские настройки хранилища ключей для цифровой подписи
    Рисунок 8. Клиентские настройки хранилища ключей для цифровой подписи
  5. Чтобы настроить конфигурацию связывания для XML-шифрования, перейдите на вкладку XML Encryption Configuration в верхней части окна Binding Configuration Dialog.
  6. В окне Outbound Message Security Configuration введите KEYID в поле Key Information Type.
  7. Нажмите кнопку Key Store Settings, расположенную рядом с Outbound Message Security Configuration. В диалоговом окне Key Store Settings:
    • Введите ${USER_INSTALL_ROOT}\etc\ws-security\samples\enc-sender.jceks в поле Keystore Path.
    • Введите storepass в поле Keystore Password.
    • Выберите JCEKS в раскрывающемся списке Keystore Type.
    • Введите Bob в поле Key Alias.
    Рисунок 9. Клиентские настройки хранилища ключей для шифрования
    Рисунок 9. Клиентские настройки хранилища ключей для шифровани
    Рисунок 9. Клиентские настройки хранилища ключей для шифровани
  8. Нажмите OK.
  9. Нажмите кнопку Key Store Settings, расположенную рядом с Inbound Message Security Configuration. В диалоговом окне Key Store Settings:
    • Введите %install%\etc\ws-security\samples\enc-sender.jceks в поле Key Store Path.
    • Введите storepass в поле Keystore Password.
    • В поле Keystore Type выберите JCEKS.
    • Введите Alice в поле Key Alias.
  10. Нажмите OK, а затем OK еще раз, чтобы закрыть окно Binding Configuration Dialog.
  11. Нажмите Finish, чтобы закрыть окно Client Side Policy Set Attachment.
    Рисунок 10. Настройка связывания клиента Web-сервиса с использованием Rational Application Developer
    Рисунок 10. Настройка связывания клиента Web-сервиса с использованием Rational Application Developer
    Рисунок 10. Настройка связывания клиента Web-сервиса с использованием Rational Application Developer
  12. После завершения настройки связывания и политики WS-Security можно опубликовать или экспортировать и установить для тестирования клиентское приложение Web-сервиса на сервере WebSphere Application Server.
  13. До тестирования настройте EchoService: укажите политику WS-Security Default и вложения связываний, разверните Services в левой панели консоли WebSphere Application Server, выберите Service providers, а затем EchoService в правой панели.
    Рисунок 11. Настройка политики WS-Security EchoService
    Рисунок 11. Настройка политики WS-Security EchoService
    Рисунок 11. Настройка политики WS-Security EchoService
  14. В правой панели выберите все записи.
  15. В раскрывающемся меню Attach выберите WS-Security default. Выберите все записи.
  16. В раскрывающемся меню Assign Binding выберите default.
  17. В верхней части экрана нажмите Save. Теперь сервис EchoService настроен на использование WS-Security. Для проверки настроек WS-Security и связывания выберите EchoService в поле Name, как показано на рисунке 12.
    Рисунок 12. EchoService с настроенными связываниями и политикой WS-Security
    Рисунок 12. EchoService с настроенными связываниями и политикой WS-Security
    Рисунок 12. EchoService с настроенными связываниями и политикой WS-Security
  18. Протестируйте клиентское приложение, указав в адресной строке браузера http://localhost:9080/wssamplesei/demo. Можно заменить localhost на URL с именем хоста сервера приложений, где установлено клиентское приложение Web-сервиса. Если клиентское приложение Web-сервиса установлено на другой порт, убедитесь, что используется именно тот порт, где оно установлено.
  19. Приложение готово к отправке защищенных сообщений серверному сервису. В соответствии с рисунком 13:
    • Выберите тип отправляемого сообщения в поле Message Type.
    • Введите отправляемую строку в поле Message String.
    • Оставьте в поле Message Count значение по умолчанию.
    • В поле Service URI можно выбрать IP-адрес, имя хоста, порт сервера приложений и порт для отправки сообщения. Сообщение повторится в окне, расположенном под кнопкой Send Message.
      Рисунок 13. Настройка связывания
      Рисунок 13. Настройка связывания
      Рисунок 13. Настройка связывания

Заключение

В данной статье мы с помощью Rational Application Developer импортировали EAR-файл примера EchoService клиентского приложения и настроили его на использование WS-Security, установили пример клиента Web-сервиса на сервере WebSphere Application Server, установили и настроили EchoService на использование WS-Security и ввели в браузере сообщение, отправляемое из клиентского приложения Web-сервиса в Web-сервис EchoService. Сообщение было отправлено обратно клиенту.

Перед отправкой сообщения из клиента WS-Security выполнила шифрование сообщения и его подписывание с использованием асимметричных ключей. После приема сообщения сервером приложений WS-Security использовала механизм асимметричные ключи для проверки цифровой подписи и дешифрования сообщения. Затем сообщение было отправлено в Web-сервис для обработки. В этом сценарии сообщение просто повторяется в ответе. WS-Security использовала механизм асимметричных ключей для подписывания цифровой подписью и шифрования ответного сообщения перед его отправкой. На стороне клиента WS-Security принимает сообщение, проверяет цифровые подписи и дешифрует сообщение. Затем сообщение отображается в браузере.

Во второй части данной серии статей мы будем использовать устройства WebSphere DataPower SOA Appliance для создания и проверки цифровой подписи WS-Security при шифровании и дешифровании сообщений.


Ресурсы для скачивания


Похожие темы


Комментарии

Войдите или зарегистрируйтесь для того чтобы оставлять комментарии или подписаться на них.

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=40
Zone=SOA и web-сервисы, WebSphere
ArticleID=790177
ArticleTitle=Передача функций защиты Web-сервисов на платформе WebSphere устройствам IBM WebSphere DataPower SOA Appliance: Часть 1. Настройка клиента Web-сервиса и сервиса для асимметричной защиты
publish-date=01302012