wso2 взаимная команда ssl curl APIM 3.2.0

#wso2 #wso2-am

#wso2 #wso2-api-менеджер

Вопрос:

Я попробовал настроить ALLINONE в своем локальном, следуя документации https://apim.docs.wso2.com/en/latest/learn/api-security/api-authentication/secure-apis-using-mutual-ssl / это сработало, но какова будет команда curl для запроса, потому что в документе говорится о тестировании только через postman

Ответ №1:

Вы можете использовать следующие команды curl, если хотите использовать подход, основанный на заголовках.

 curl -X GET -H "X-WSO2-CLIENT-CERTIFICATE: (Base64 encoded public cert)" "https://localhost:8243/mock/v1" -v


curl -X GET -H "X-WSO2-CLIENT-CERTIFICATE: (Base64 encoded public cert)" "http://localhost:8280/mock/v1" -v
  

Чтобы выполнить это, вам необходимо добавить следующую конфигурацию в файл deployment.toml в расположении wso2am-3.2.0/repository/conf.

 [apimgt.mutual_ssl]
enable_client_validation = false
  

Вы можете использовать следующие команды curl, если вы используете сертификат и ключ.

 curl -k --cert int.ext.wso2.com.crt --key int.ext.wso2.com.key -X GET "https://localhost:8243/mock/v1" -v
  

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

1. получение предупреждения об ошибке — ошибка ввода-вывода SourceHandler: получено фатальное предупреждение: unknown_ca в журналах шлюза, и после выполнения команды мы получаем ошибку Проблема с сертификатом SSL: самозаверяющий сертификат Подробнее здесь: curl.haxx.se/docs/sslcerts.html Хотя сертификат не является самоподписанным

2. разве нам не нужно передавать ключ с сертификатом

3. Я думал, вы ищете подход, основанный на заголовке. Я обновил свой ответ с помощью команды curl на основе ключа и сертификата

4. Можете ли вы перепроверить, есть ли у вас тот же сертификат в хранилище клиентского доверия APIM? Я думаю, что сертификат неверен, и именно поэтому вы получаете неизвестный сертификат

5. когда я попробовал первый подход, который вы предложили, у меня есть тот же сертификат, загруженный в api, и тот же сертификат, который я прохожу через curl, но получаю ошибку ниже……………> { [5 байты данных] * Состояние соединения изменено (MAX_CONCURRENT_STREAMS ==128)! } [5 байт данных] 0 * Поток HTTP / 2 0 не был закрыт чисто: неизвестный код ошибки (ошибка 1) * остановил поток приостановки! 0 0 0 0 0 0 0 0 —:—:— —:—:— —:—:— 0 * Соединение # 0 с хостом ****** осталось нетронутым curl: (92) HTTP / 2 поток 0 не был закрыт чисто: неизвестный код ошибки (ошибка 1)