#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)