Вопросы и ответы KB0394293
Электронная почта
Шаги настройки аутентификации на основе сертификата (WS-Security) для веб-сервисов с использованием SoapUI
Для Вашего удобства эта статья базы знаний переведена машинными средствами. SAP не предоставляет никаких гарантий правильности или полноты машинного перевода. Исходное содержимое можно увидеть, переключившись на английский язык с помощью селектора языка.
Вопрос

Шаги настройки аутентификации на основе сертификата (WS-Security) для веб-служб

Ответ

Входящие в веб-сервис Ariba:

  1. Используйте хранилище ключей вместе с сертификатом X.509, закодированным с помощью кодировки Privacy Enhanced Mail (PEM) base64. Если у вас нет хранилища ключей из действительного центра сертификации, можно сгенерировать самозаверяющее хранилище ключей/сертификат, выполнив следующие действия:
    1. Откройте командную строку и измените каталог на каталог bin установки Java вашего компьютера
    2. Выполните следующую команду, чтобы создать хранилище ключей (в Windows) - Замените пароль фактическим паролем, который требуется использовать:

keytool -genkey -keyalg RSA -alias selfsigned -keystore keystore.jks -storepass password -validity 360 -keysize 2048

    1. На шаге 1b создан файл хранилища ключей с именем keystore.jks. Это хранилище ключей Java, которое содержит мой новый сертификат, а также открытые и закрытые ключи.
    2. Теперь извлеките сертификат PEM из хранилища ключей, которое можно реализовать в UI Ariba для аутентификации конечной точки. В командной строке выполните следующую команду (Замените пароль фактическим паролем, установленным на шаге 1b):

keytool -exportcert -alias selfsigned -keyypass password -keystore keystore.jks -storepass password -rfc -file keytool_crt.pem

  1. Для этого решения я буду обращаться к настройке запроса в SoapUI. В Ariba выберите Управление > Администрирование/базовое администрирование > Диспетчер интеграции > Конфигурация конечной точки > Создать
  2. Вставьте сертификат X.509, закодированный с помощью кодировки privacy Enhanced Mail (PEM) base64, извлеченной на шаге 1d, вставьте в файл сертификата и сохраните изменения. Первая строка сертификата должна содержать следующий текст:
    -----НАЧАЛО СЕРТИФИКАТА-----
    Последняя строка сертификата должна содержать следующий текст:
    -----КОНЕЦ СЕРТИФИКАТА-----

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

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

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

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

  1. В запросе перейдите на вкладку "Авт.". В качестве исходящего WSS задайте имя "Исходящих конфигураций безопасности WS", созданных на шагах 10-12.

  1. Теперь можно выполнить запрос из SoapUI. Должен отобразиться успешный ответ

Исходящие из веб-сервиса Ariba в промежуточное ПО:

  1. Убедитесь, что шаг 1 выполнен из шагов "Входящие в веб-сервис Ariba"
  2. В Ariba выберите Управление > Администрирование/Базовое администрирование > Диспетчер интеграции > Конфигурация конечной точки > Создать > выберите тип "Исходящие".
    Для "URL" укажите конечную точку. Это местоположение Ariba отправит запрос SOAP. Ariba рекомендует использовать https, однако http также будет работать:

    Пример:
    https://<domain>:<port>/WSOutbound

  3. Установите для параметра "Подписать с помощью закрытого ключа Ariba" значение "Да" и сохраните конечную точку.
  4. Выберите Управление > Администрирование/Базовое администрирование > Диспетчер интеграции > Конфигурация интеграции > Выберите требуемый веб-сервис, отредактируйте его, убедитесь, что он включен, и используйте конечную точку, созданную на шаге 2. Также установите URL (должен быть таким же, как URL конечной точки, но может иметь дополнительные параметры в URL)
  5. Откройте URL WSDL и скопируйте URL в браузере
  6. В SoapUI создайте новый проект SoapUI и используйте URL WSDL, скопированный из Ariba
  7. Убедитесь, что установлен флажок "Создать mockService"
  8. На следующем экране введите данные о порте и пути
  9. Дважды щелкните только что созданный проект
  10. Перейдите на вкладку Keystores и щелкните значок Добавить (выглядит как знак +)
  11. Выберите файл хранилища ключей, созданный на шаге 1 веб-службы Входящие в Ariba (расширение файла .jks), и введите пароль хранилища ключей. После этого хранилище ключей должно иметь статус "ОК".
  12. Перейдите на вкладку Входящие конфигурации безопасности WS и щелкните значок Добавить (выглядит как знак +)
  13. Присвойте записи имя, выберите значение хранилища ключей "Дешифровать хранилище ключей" и "Хранилище ключей подписи" и введите пароль хранилища ключей.
  14. Щелкните MockService в проекте SOAP.
  15. В разделе Свойства MockService задайте для параметра "Входящий WSS" имя сконфигурированной конфигурации безопасности WS, выполненной на шаге 13.
  16. Дважды щелкните ответ и вручную введите значения, чтобы ответ соответствовал требуемому результату (успех или ошибка). Это ответ, отправляемый в Ariba при поступлении запроса в SoapUI.
  17. Теперь в приложении 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

Шаги настройки аутентификации на основе сертификата (WS-Security) для веб-служб с использованием SoapUI.txt6,75 КБ

Применимо к

Закупки
Стратегические закупки
Стратегические контракты
Управление информацией и качеством работы поставщиков

Условия использования  |  Авторские права  |  Безопасность  |  Конфиденциальность