c ++ libCurl:如何使用libCurl

时间:2018-10-03 07:44:38

标签: c++ openssl libcurl

我正在研究Linux嵌入式应用程序,该应用程序充当客户端并使用libCurl从https服务器接收数据。我的应用程序的要求是接受过期的证书并继续建立连接。

我找不到可以使用curl_easy_setopt设置的任何此类选项,因为我们可以忽略-
 -针对主机验证证书名称=>将CURLOPT_SSL_VERIFYHOST设置为0
 -验证对等方证书的真实性=>将CURLOPT_SSL_VERIFYPEER设置为FALSE

还有其他方法可以尝试使其正常工作。

1 个答案:

答案 0 :(得分:1)

您可以使用CURLOPT_SSL_CTX_FUNCTION设置回调(请参见https://curl.haxx.se/libcurl/c/cacertinmem.html上的示例),在其中您可以操纵SSL上下文,清除错误等。

这可能还不够,您可以尝试设置openssl本身的一些选项,请参见https://www.openssl.org/docs/man1.1.0/ssl/SSL_CTX_set_verify.html

我不确定是否足以设置SSL_VERIFY_NONE或您是否真的必须提供一个对所有内容都表示“是”的验证回调函数。

我还没有测试过,我不确定它是否可以正常工作,但是您可以尝试。