Jam*_*mes 3 ssl https curl openssl ssl-certificate
目前,我们使用cURL从HTTPS读取.一切正常.
我们在curl中设置了如下证书:
curl_easy_setopt(curl,CURLOPT_SSLCERTTYPE,"PEM");
curl_easy_setopt(curl,CURLOPT_SSLCERT,"/etc/ssl/certs/abc.cert.pem");
curl_easy_setopt(curl,CURLOPT_SSLKEYTYPE,"PEM");
curl_easy_setopt(curl,CURLOPT_SSLKEY,"/etc/ssl/certs/abc.key.pem");
Run Code Online (Sandbox Code Playgroud)
现在我们要将这些证书文件移动到不同的目录.即使我在上面的命令中更改路径它也不起作用,因为我认为证书路径在libcurl中被硬编码为/ etc/ssl.
基于谷歌搜索,我尝试先添加,
curl_easy_setopt(curl, CURLOPT_CAPATH, "/MyDir/");
Run Code Online (Sandbox Code Playgroud)
然后是具有正确相对路径的四条线.它没有用.
如何将路径(存储证书的目录)更改为我想要的内容.将会感谢示例或解释.
谢谢
詹姆士
不,在libcurl中根本没有客户端证书的硬编码路径,你的理论是不正确的.
但是你在同一个问题中混合CURLOPT_SSLCERT选项(用于客户端证书)和CURLOPT_CAPATH选项(用于CA证书)可能意味着你误解了选项的真正含义和做法.
capath/bundle在libcurl中具有硬编码默认值,但您始终可以使用其中一个CA*选项设置自己的首选默认值.
| 归档时间: |
|
| 查看次数: |
4371 次 |
| 最近记录: |