由于Android不支持新的openssl,并且我的某个应用程序需要使用openssl 1.0.1c,因此我想到了将openssl和curl交叉构建到android。我已经在这个链接Using cURL in Android的帮助下建立了curl和openssl for android。我能够成功构建并获得共享库。现在我试图运行我的应用程序,在我的应用程序中,我需要添加我的自签名证书,当我试图通过我的本地culr客户端代码添加存储在sdcard中的证书时,我收到以下错误响应curl ie CURLE_SSL_CERTPROBLEM(58)=>本地客户端证书有问题。在android ndk curl应用程序中包含openssl证书
我已经在x86 linux PC上测试过这个应用程序,我的应用程序工作正常。
与我这里已经把我卷曲的SetOption代码,并在这,我只是想从SD卡读取的证书
下面是我试图设置证书卷曲设置选项
curl_easy_setopt(curl,CURLOPT_SSLCERTTYPE,"DER");
curl_easy_setopt(curl,CURLOPT_SSLKEYTYPE,"DER")
curl_easy_setopt(curl,CURLOPT_SSLCERT,/sdcard/sslcerts/mycert.der);
curl_easy_setopt(curl,CURLOPT_SSLKEY,/sdcard/sslcerts/mykey.der);
curl_easy_setopt(curl,CURLOPT_CAINFO,/sdcard/sslcerts/mycacert.root);
curl_easy_setopt(curl,CURLOPT_CAPATH,/sdcard/sslcerts/);
我是否按照正确的方法在android ndk级别设置证书?因为这个应用程序库被使用,所以我的Java应用程序还有其他一些加载证书的方式。
你如何确保你的应用程序使用1.0.1c openssl库?如果你不采取特殊措施,系统库将被加载! –