libcurl证书验证失败

问题描述 投票:2回答:1

我正在使用来自C ++代码的libcurl但它在证书验证期间失败了。这是错误输出:

errorbuffer:错误设置证书验证位置:CAfile:/usr/share/ssl/certs/ca-bundle.crt CApath:none

我不明白为什么它在该位置寻找证书,我没有指定任何特定的位置。使用以下代码以不安全模式运行它正常运行:

curl_easy_setopt(curl,CURLOPT_SSL_VERIFYPEER,0L);

但我想以安全模式运行它。

任何想法为什么它在错误的位置寻找证书?

谢谢。

curl ssl-certificate libcurl
1个回答
4
投票

libcurl有一个内置的默认位置,用于查找CA证书包。构建libcurl时设置该默认路径。在许多情况下,这将由Linux发行商完成。

如果要提供默认的不同CA证书捆绑包,libcurl提供了这样做的选项:

  • CURLOPT_CAINFO设置文件名以加载CA证书
  • CURLOPT_CAPATH设置目录(主要用于使用libcurl版本的OpenSSL),其中存储单个CA证书
© www.soinside.com 2019 - 2024. All rights reserved.