我们在应用程序中使用libcurl(7.3.6)。 API调用“ Https URL”,给出“ curle_ssl_cacert错误”。我已经能够使用
解决此问题 curl_easy_setopt(curl, CURLOPT_CAINFO, "PATH\\curl-ca-bundle.crt");
,但我们不想在应用程序中维护此文件。有什么方法可以直接从OS或其他位置进行访问?
答案 0 :(得分:0)
对于Windows,
如果要使用Windows自己的“ CA证书”,则需要使用schannel后端(也称为“ winssl”)来重建curl。默认情况下,它将从Windows证书存储区进行访问。 Openssl不支持自己使用Windows系统证书(请参阅此answer),并且在使用参数--with-ca-bundle
和{{1构建libcurl时,必须使用PEM格式指定证书或设置默认证书}}。
对于Linux,
根据document:
如果libcurl是使用NSS支持构建的,则取决于操作系统 分发,可能需要采取一些其他步骤来 使用系统范围的CA cert db。 RedHat附带了一个附加 模块libnsspem.so,它使NSS能够读取OpenSSL PEM CA 捆绑包。