Я изо всех сил пытался изучить WS-Security - в частности, как его настроить и протестировать с помощью WebSphere 8.5 (полный профиль). (Я использую Rational Software Architect 9.5 в качестве IDE.)
Я просмотрел несколько руководств IBM, но меня не устраивает, что наборы политик, которые я создаю и прикрепляю к поставщикам и клиентам веб-служб SOAP, даже применяются, когда я их тестирую.
Пример: я использовал это руководство на веб-сайте IBM:
Начало работы: использование набора политик и привязок по умолчанию для подписи и шифрования сообщения (http://www14.software.ibm.com/webapp/wsbroker/redirect?version=matt&product=was-nd-dist&topic=twbs_getstart_policyset)
Я создал набор политик, как описано в руководстве - простой, который, по-видимому, имеет следующие характеристики:
- Отметка времени, отправленная в исходящих сообщениях
- Отметка времени требуется во входящих сообщениях
- Подпишите запрос и ответ (тело, заголовок WS-Addressing и отметка времени)
- Зашифруйте запрос и ответ (элементы Body и Signature в заголовке безопасности SOAP)
Я прикрепил этот набор правил к:
- Поставщик веб-службы, настроенный на одном локальном экземпляре WebSphere Application Server («Экземпляр WAS поставщика»)
- Клиент веб-службы, установленный на другом локальном экземпляре WebSphere Application Server («Клиентский экземпляр WAS»).
Клиент веб-службы также имеет инструмент тестирования на основе JSP, который я настроил с помощью мастера создания скелетных классов Java от RSA. Я установил инструмент на основе JSP для вызова службы в экземпляре Provider WAS.
Я не устанавливал никаких сертификатов или ключей, так как это не входило в учебник.
Когда я перехожу к инструменту тестирования на основе JSP для клиента веб-службы и вызываю веб-службу, я получаю успешный ответ, без сообщений о неудачной аутентификации подписанного сообщения запроса и без сообщений о неудачной расшифровке клиент.
Разве я не должен получать такие ошибки, поскольку я не настроил какие-либо ключи или сертификаты и не связал их с клиентом или поставщиком? Если нет, то что используются экземпляром WAS поставщика и экземпляром клиента WAS, чтобы все это работало?
Я понимаю, что это вопросы типа "n00b", но этот материал был проблемой. Буду признателен за любые предложения, которые помогут мне быстро разобраться в этой теме. Заранее спасибо.