其他分享
首页 > 其他分享> > android-OpenSSL 1.0.2读取md5 CA证书

android-OpenSSL 1.0.2读取md5 CA证书

作者:互联网

我已经为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:对等证书无法使用给定的CA证书进行身份验证.

googling开始,我发现Android cacerts是使用md5哈希值生成的,但是从1.0.0版开始,openssl使用sha1.

有谁知道如何使openssl 1.0.2能够读取Android的md5 ca证书?

Google必须以某种方式完成此操作,因为他们针对Android的openssl repo使用版本1.0.1j.

否则,我想我的选择是像在this answer中那样使用openssl 0.9.8,或者使用自己的CA证书包-但是我宁愿拥有最新版本,也不必担心自己维护CA证书.

解决方法:

/ system / etc / security / cacerts文件夹中的所有这些文件都是PEM格式的证书,名称是该主题上的哈希.我认为您无法像使用新版openssl版本一样使用该文件夹.但是,您只需将所有这些文件合并到一个文件中,然后将其与CURLOPT_CAINFO一起使用即可.虽然这不如直接使用目录好,但它可能比从其他地方获取CA捆绑包更好.

标签:ssl,openssl,curl,ssl-certificate,android
来源: https://codeday.me/bug/20191121/2048776.html