libcurl证书验证失败
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了libcurl证书验证失败相关的知识,希望对你有一定的参考价值。
我正在使用来自C ++代码的libcurl但它在证书验证期间失败了。这是错误输出:
errorbuffer:错误设置证书验证位置:CAfile:/usr/share/ssl/certs/ca-bundle.crt CApath:none
我不明白为什么它在该位置寻找证书,我没有指定任何特定的位置。使用以下代码以不安全模式运行它正常运行:
curl_easy_setopt(curl,CURLOPT_SSL_VERIFYPEER,0L);
但我想以安全模式运行它。
任何想法为什么它在错误的位置寻找证书?
谢谢。
答案
libcurl有一个内置的默认位置,用于查找CA证书包。构建libcurl时设置该默认路径。在许多情况下,这将由Linux发行商完成。
如果要提供默认的不同CA证书捆绑包,libcurl提供了这样做的选项:
- CURLOPT_CAINFO设置文件名以加载CA证书
- CURLOPT_CAPATH设置目录(主要用于使用libcurl版本的OpenSSL),其中存储单个CA证书
以上是关于libcurl证书验证失败的主要内容,如果未能解决你的问题,请参考以下文章