Шаги по настройке аутентификации на основе сертификата (WS-Security) для веб-служб с использованием SoapUI
Для Вашего удобства эта статья базы знаний переведена машинными средствами. SAP не предоставляет никаких гарантий правильности или полноты машинного перевода. Исходное содержимое можно увидеть, переключившись на английский язык с помощью селектора языка.
Шаги по настройке аутентификации на основе сертификата (WS-Security) для веб-служб
Входящие в веб-сервис Ariba:
- Используйте хранилище ключей вместе с сертификатом X.509, закодированным с использованием кодировки Privacy Enhanced Mail (PEM) base64. Если он отсутствует в действительном центре сертификации, можно создать самостоятельно подписанное хранилище ключей/сертификат, выполнив следующие действия:
- Откройте командную строку и измените каталог на каталог bin установки Java компьютера
- Выполните следующую команду, чтобы создать хранилище ключей (в Windows) - Замените пароль фактическим паролем, который требуется использовать:
keytool -genkey -keyalg RSA -alias selfsigned -keystore keystore.jks -storepass password -validity 360 -keysize 2048
-
- На шаге 1b создан файл хранилища ключей с именем keystore.jks. Это хранилище ключей Java, которое содержит мой новый сертификат, а также открытые и закрытые ключи.
- Теперь извлеките из хранилища ключей сертификат PEM, который можно реализовать в пользовательском интерфейсе Ariba для аутентификации конечной точки. В командной строке выполните следующую команду (Заменить пароль фактическим паролем, установленным на шаге 1b):
keytool -exportcert -alias selfsigned -keypass password -keystore keystore.jks -storepass password -rfc -file keytool_crt.pem
- Для этого решения я буду ссылаться на настройку запроса в SoapUI. В Ariba выберите Управление > Администрирование/базовое администрирование > Диспетчер интеграции > Конфигурация конечной точки > Создать
- Вставьте сертификат X.509, закодированный с помощью кодировки Privacy Enhanced Mail (PEM) base64, извлеченный на шаге 1d, вставьте в файл сертификата и сохраните изменения. Первая строка сертификата должна иметь следующий текст:
-----НАЧАЛО СЕРТИФИКАТА-----
Последняя строка сертификата должна иметь следующий текст:
-----КОНЕЦ СЕРТИФИКАТА-----

- Выберите Управление > Администрирование/базовое администрирование > Диспетчер интеграции > Конфигурация интеграции > Выберите нужный веб-сервис, отредактируйте его, убедитесь, что он включен и используется в конечной точке, созданной на шаге 3.
- Копировать URL-адрес WSDL
- В SoapUI создайте новый проект SoapUI и используйте URL WSDL, скопированный из Ariba
- Дважды щелкните проект

- Перейдите на вкладку Хранилища ключей и щелкните значок Добавить (выглядит как знак +)
- Выберите файл хранилища ключей, созданный на шаге 1 (расширение файла .jks), и введите пароль хранилища ключей. После этого хранилище ключей должно иметь статус "ОК"

- Перейдите на вкладку Исходящие конфигурации WS-безопасности и щелкните значок Добавить (выглядит как знак +).
- Щелкните значок Добавить в нижней области, чтобы добавить тип безопасности. Выберите "Подпись"
- Выберите хранилище ключей и псевдоним в раскрывающемся списке и введите пароль хранилища ключей. Установите тип идентификатора ключа = "Имя издателя и серийный номер". После настройки конфигурация будет выглядеть следующим образом:

- Откройте запрос в SoapUI, дважды щелкнув его:

- В заявке перейдите на вкладку "Авт.". Задайте для параметра Outgoing WSS имя "Outgoing WS-Security Configurations", созданных на шаге 10-12.

- Теперь можно выполнить запрос из SoapUI. Должен появиться успешный ответ
Исходящее из веб-сервиса Ariba в промежуточное ПО:
- Убедитесь, что шаг 1 выполнен из шагов "Входящие в веб-сервис Ariba"
-
В Ariba выберите Управление > Администрирование/базовое администрирование > Диспетчер интеграции > Конфигурация конечной точки > Создать > выберите тип "Исходящие"
Для "URL" укажите конечную точку. Это местоположение, которое Ariba отправляет запрос SOAP. Ariba рекомендует использовать https, однако http также будет работать:
Пример:
https://<domain>:<port>/WSOutbound
- Установите для параметра "Подписать закрытым ключом Ariba" значение "Да" и сохраните конечную точку.
- Выберите Управление > Администрирование/базовое администрирование > Диспетчер интеграции > Конфигурация интеграции > Выберите нужный веб-сервис, отредактируйте его, убедитесь, что он включен и используется в конечной точке, созданной на шаге 2. Кроме того, установите URL (должен совпадать с URL конечной точки, но может иметь дополнительные параметры в URL)
- Откройте WSDL URL и скопируйте его в браузере
- В SoapUI создайте новый проект SoapUI и используйте URL WSDL, скопированный из Ariba
- Убедитесь, что установлен флажок "Создать MockService"
- На следующем экране введите данные о порте и пути.
- Дважды щелкните только что созданный проект.
- Перейдите на вкладку Хранилища ключей и щелкните значок Добавить (выглядит как знак +)
- Выберите файл хранилища ключей, созданный на шаге 1 веб-сервиса Входящие в Ariba (расширение файла .jks), и введите пароль хранилища ключей. После этого хранилище ключей должно иметь статус "ОК"
- Перейдите на вкладку Входящие конфигурации WS-безопасности и щелкните значок Добавить (выглядит как знак +).
- Присвойте записи имя, выберите значение хранилища ключей "Decrypt Keystore" и "Signature Keystore" и введите пароль хранилища ключей.
- Щелкните MockService в проекте Soap.
- В разделе Свойства MockService задайте для параметра "Incoming WSS" имя сконфигурированных "Incoming WS-Security Configurations", выполненных в шаге 13.
- Дважды щелкните ответ и вручную введите значения, чтобы ответ соответствовал требуемому результату (успех или ошибка). Это ответ, отправляемый в Ariba при поступлении запроса в SoapUI.
- Теперь можно создавать данные в приложении Ariba, использующем веб-сервис для отправки данных в SoapUI.
Для получения дополнительных сведений о генерации хранилища ключей с помощью указанных шагов см.:
http://www.john-james-andersen.com/blog/service-now/tutorial-soap-into-servicenow-via-x509-ws-security.html
Для получения дополнительных сведений о настройке WS-безопасности специально в SoapUI см.:
http://www.soapui.org/SOAP-and-WSDL/applying-ws-security.html
Закупки
Стратегические закупки
Стратегические контракты
Управление информацией и качеством работы поставщиков