【发布时间】:2015-01-12 04:18:04
【问题描述】:
我已经为 Android 构建了 curl 7.39.0 和 openssl 1.0.2。我将openssl指向CA证书目录:
curl_easy_setopt( curl, CURLOPT_CAPATH, "/system/etc/security/cacerts" );
但是当我调用 curl_easy_perform 时,我得到错误代码 60:Peer certificate cannot be authenticated with given CA certificates。
从googling 中我发现 Android cacerts 是使用 md5 哈希生成的,但从 1.0.0 版本开始,openssl 使用 sha1。
有谁知道如何让 openssl 1.0.2 能够读取 Android 的 md5 ca 证书?
Google 一定是以某种方式做到了这一点,因为他们的openssl repo for android 使用的是 1.0.1j 版本。
否则我想我的选择是像this answer 那样使用openssl 0.9.8,或者使用我自己的CA 证书包——但我宁愿拥有最新版本而不必担心自己维护CA 证书。
【问题讨论】:
标签: android ssl curl openssl ssl-certificate