2011-08-23 88 views
3

我接管了一个项目,并且很难实现事物的SSL方面。我们的应用程序使用libcurl从服务器访问远程内容。该设备正在寻找我拥有的cacert.pem文件,但我不确定放置它的位置。我试图把它放在应用程序的根目录下,但这没有帮助。NDK,JNI和libcurl

同事建议文件应该直接放在/ sdcard中,但这也没有帮助。

有没有人知道我应该在应用程序中放置cacert.pem文件以使它能够被libcurl使用?

回答

2

您可以指定libcurl中查找使用curl_easy_setoptCURLOPT_CAINFO CA信息:

static const char *pCACertFile="cacert.pem"; 

    /* ... */ 

    /* set the file with the certs vaildating the server */ 
    curl_easy_setopt(curl, CURLOPT_CAINFO, pCACertFile); 

下面的例子演示了一个完整的SSL会话,包括指定CA证书文件:

http://curl.haxx.se/libcurl/c/simplessl.html

+0

感谢您的答复,但证书的位置已经编码。当Android调用libcurl时,它实际上正在寻找操作系统方面的证书。 –

+0

你在什么地方设置证书的位置? – 2011-08-23 15:26:37

+0

证书的位置是“cacert.pem” –