wso2 как вызвать безопасную службу с помощью crt и ключевого файла

#wso2 #wso2esb

#wso2 #wso2-esb

Вопрос:

У меня есть этот пример curl:

curl -X POST --url https://xxxxxxx/xx/xx -H 'Content-Type: application/json' -d '{"username": " [user] " ,"password": " [password] " }' --cert ./[crtarhive].crt:[password] --key ./[keyfile]

и я хотел разработать эту службу в wso2 enterprise integrator, но я понятия не имею, как работать с crt, паролем и ключевым файлом. Я попытался объединить в файле pfx файл сертификата и ключа, используя: openssl pkcs12 -export -in ./[crtarchive].crt -inkey ./[keyfile].key -passin pass:[password -out [pfxarchive].pfx

затем извлеките закрытый ключ и удалите фазу. Результатом этого является pem-файл, который, если я использую в curl, служба правильно реагирует без ключевого файла и пароля. Итак, я импортирую файл pem в клиентское хранилище и создаю простой прокси-сервис, но он не работает.

Ответ №1:

Если вы хотите просто вызвать службу HTTPS на сервере EI с помощью curl, вы можете добавить флаг -k к запросу.

 curl -X POST --url https://xxxxxxx/xx/xx -H 'Content-Type: application/json' -d '{"username": " [user] " ,"password": " [password] " }' -k
  

Вызов службы HTTPS в EI и защита службы в EI (например, базовый OAuth) — это два разных сценария. Если вы хотите защитить службу, вы можете обратиться к документации [1], [2] .

[1]-https://docs.wso2.com/display/EI640/Applying Security to an API [2]-https://ei.docs.wso2.com/en/7.2.0/micro-integrator/develop/advanced-development/applying-security-to-a-proxy-service/

Комментарии:

1. Что мне нужно, так это создать прокси-службу в wso2 ei для вызова этой службы https. Curl является примером того, как его вызвать.

2. Можете ли вы уточнить больше о запросе, который должен быть отправлен на серверную часть? Должна ли у этого быть полезная нагрузка JSON с параметрами имени пользователя и пароля

3. Запрос представляет собой сообщение POST с полезной нагрузкой json с именем пользователя и паролем (это одна из многих служб, которые я буду использовать). Проблема, с которой я сталкиваюсь, заключается в том, как установить соединение с поставщиком, используя сертификат и ключ, который я упоминаю.