由于 Android 不支持新的 openssl 并且我的一个应用程序需要使用 openssl 1.0.1c ,因此我考虑将 openssl 和 curl 交叉构建到 android 。在此链接Using cURL in Android的帮助下,我已经为 android 交叉构建了 curl 和 openssl .. 我能够成功构建并获得共享库。现在我正在尝试运行我的应用程序,在我的应用程序中我需要添加我的自签名证书,当我尝试通过我的本地 culr clienr 代码添加存储在 sdcard 中的证书时,我收到以下错误响应curl 即 CURLE_SSL_CERTPROBLEM (58)=>本地客户端证书问题。
我已经在 x86 linux PC 上测试了这个应用程序,我的应用程序运行良好。
我在这里放了我的 curl setoption 代码,我只是想从 sdcard 读取证书
以下是我尝试设置证书的 curl 设置选项
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 应用程序是否有其他方法来加载证书。