gpt4 book ai didi

c - 为 libcurl 添加自签名 SSL 证书

转载 作者:太空狗 更新时间:2023-10-29 16:49:51 24 4
gpt4 key购买 nike

我在我的 C 应用程序中使用 libcurl 与我设置的 HTTPS 服务器通信。我在该服务器上生成了一个我希望与 curl 一起使用的自签名证书。

我知道将 CURLOPT_SSL_VERIFYPEER 设置为 0 以绕过 SSL 验证,但我希望将生成的证书添加到 curl 的“有效”CA 证书中。

我试过将CURLOPT_CAPATH和CURLOPT_SSLCERT设置为服务器SSL公钥所在位置,但验证失败。

如何添加我自己的 CA/自签名证书,以便 libcurl 成功验证它?

最佳答案

要添加自签名证书,请使用 CURLOPT_CAINFO

要检索站点的 SSL 公共(public)证书,请使用

openssl s_client -connect www.site.com:443 | tee logfile

证书就是----BEGIN CERTIFICATE-----
标记的部分---证书结束----

将该证书保存到文件中,并以如下方式使用 curl:

CURL* c = curl_easy_init();
curl_easy_setopt(c, CURLOPT_URL, "https://www.site.com");
curl_easy_setopt(c, CURLOPT_CAINFO, "/path/to/the/certificate.crt");
curl_easy_setopt(c, CURLOPT_SSL_VERIFYPEER, 1);
curl_easy_perform(c);
curl_easy_cleanup(c);

关于c - 为 libcurl 添加自签名 SSL 证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8876944/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com