使用带有自签名证书的libCurl从本地https主机下载文件

时间:2018-03-18 13:30:44

标签: c curl https openssl libcurl

我正在尝试使用嵌入式Linux设备中的自签名证书从https本地主机下载文件。

1 - 当我基于BIO套接字和openssl库执行此操作时,当我向WAMP服务器请求时,我发送HTTPS GET请求并收到所请求资源的纯内容HTTPS响应添加内容。

2-当重复上述操作到IIS服务器时,HTTPS的身份验证完成,我成功发送请求并成功收到HTTPS响应,但收到的数据是奇怪的非字符串字符,这似乎是未解密的接收数据.AS IIS收到了成功200请求,这意味着我的请求成功加密 - 发送到服务器上的服务器解密并且响应发回给我,但可能它没有在服务器中成功加密或在客户端解密。

3-使用交叉编译的V7.58 libCurl库,当我使用

curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L);
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L);

我能够成功下载基于HTTPS协议的文件,但是当我使用以下代码介绍自签名证书pem文件时:

curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, true);
curl_easy_setopt(curl, CURLOPT_CAINFO, "/addr/root.pem");

我收到了:

SSL peer certificate or SSH remote key was not OK

并且root.pem文件还可以,因为我使用openssl成功测试了它。

使用带有libCurl的IIS服务器进行4次测试3也不会返回任何数据。 那么请你指导我如何摆脱这种奇怪的死亡局面?

0 个答案:

没有答案