У меня есть конечная точка https restful, которую я запрашиваю с помощью curl, используя такую команду:
curl -k --cert client-cert.pem:password https://test-server@mycompany.com/api/vi/getinfo
В Gitbash это работает и возвращает данные.
Из windows command prompt точно такая же команда возвращает ошибку :
curl: (35) schannel: next InitiaizeSecurityContent failed: SEC_E_CERT_UNKNOWN (0x80090327) - An unknown error occured while processing the certificate
Мой вопрос: что windows command prompt делает иначе, чем Gitbash, чтобы это не сработало? и есть ли настройки, которые я могу изменить?
Эта ошибка означает, что вашему сертификату TLS не доверяют. curl
предоставляет несколько способов задать путь для пакетов CA (центров сертификации). Скорее всего, Git bash
устанавливает их через переменную среды CURL_CA_BUNDLE
в какой-то каталог, в котором хранится такой пакет. Попробуйте выполнить echo $ CURL_CA_BUNDLE
на git bash, чтобы проверить, так ли это. И если он установлен на какой-то путь или файл, вы также можете попробовать установить его из командной строки. Или просто добавьте переключатель -k
, чтобы их игнорировать.
Все способы установки этих путей и порядка поиска довольно хорошо документированы .