把用户证书安装成系统证书

本文介绍了如何在安卓7.0及以上版本系统中,将用户证书(如FiddlerRoot)安装为系统证书,以解决部分应用不信任用户安装证书的问题。通过下载证书、使用OpenSSL转换、获取证书哈希、复制到系统目录并重新启动设备,即可完成证书安装。
摘要由CSDN通过智能技术生成

把用户证书安装成系统证书

引言

安卓7.0及以上的系统对于证书的安全策略做了修改,系统允许每个应用可以定义自己的可信CA集,有部分应用默认只会信用系统预装的CA证书,而不会信任用户安装的CA证书,而在安卓中,用户安装的证书都是用户证书,所以无论是fiddler还是Charles我们都只是把他们的根证书安装到用户证书,这些应用并不使用他们,所以我们安装的证书是无效的。

解决办法

既然知道了原因,那就总是有解决办法的,我们只要把代理软件的证书安装成系统证书就可以了
以fiddler证书为例:
1、先将fiddler证书下载下来,默认名称为:FiddlerRoot.cer
2、使用OpenSSL将cer文件转换成crt文件:
openssl x509 -inform DER -in FiddlerRoot.cer -out FiddlerRoot.crt
3、根据证书获取证书hash值,得到类似 269953fb 字符串:
openssl x509 -inform PEM -subject_hash_old -in FiddlerRoot.crt
4、将FiddlerRoot.crt重命名为 269953fb.0
5、将证书复制到手机 /system/etc/security/cacerts/目录
(手机必须root)
以adb方式为例:
1.adb root
2.adb remount
3.adb push 269953fb.0 /sdcard/
4.adb shell
5.mv /sdcard/269953fb.0 /system/etc/security/cacerts/<

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值