Https не поддерживается в предупреждении libcurl окна, чем при использовании CURLOPT_CAINFO - PullRequest
0 голосов
/ 15 мая 2019

Мы используем libcurl (7.3.6) в нашем приложении.Вызов API для «URL Https», выдающего «ошибку curle_ssl_cacert».Я смог решить эту проблему, используя

    curl_easy_setopt(curl, CURLOPT_CAINFO, "PATH\\curl-ca-bundle.crt"); 

, но мы не хотим сохранять этот файл в нашем приложении.Есть ли какой-нибудь способ, которым мы можем получить прямой доступ из ОС или из другого места?

1 Ответ

0 голосов
/ 16 мая 2019

Для Windows:

Если вы хотите использовать собственный «сертификат CA» для Windows, вам нужно вместо этого перестроить curl с помощью schannel backend (он же «winssl»).Это будет доступ из хранилища сертификатов Windows по умолчанию.Openssl не поддерживает использование системного сертификата Windows самостоятельно (см. Этот ответ ) и должен указывать сертификат в формате PEM или устанавливать сертификат по умолчанию при сборке libcurl с параметрами --with-ca-bundle и --with-ca-path.

Для Linux

Согласно документу :

Если libcurl был собран с поддержкой NSS, то в зависимости от дистрибутива ОС, вероятно, необходимо предпринять некоторые дополнительные шаги для использования общесистемного CA cert db.RedHat поставляется с дополнительным модулем, libnsspem.so, который позволяет NSS читать пакет OpenSSL PEM CA.

...