时间:2025-02-01 来源:网络 人气:
你有没有遇到过这种情况:手机里装了各种证书,可就是有些APP不认账,搞得你抓狂不已?别急,今天就来教你一招,把那些不认账的用户证书变成系统证书,让你的手机从此畅通无阻!
先来简单了解一下证书。证书就像身份证一样,用来证明你的身份。在手机上,证书分为用户证书和系统证书两种。
用户证书:通常是通过浏览器下载或者WLAN高级设置安装的,比如Fiddler、Charles等抓包工具的证书。
系统证书:由手机厂商预装,用于验证网络连接的安全性。
安卓7.0以后,系统默认不信任用户证书,这就导致了有些APP不认账。比如,你用Fiddler抓包HTTPS请求时,就会遇到无法解码请求的问题。
以Fiddler为例,打开Fiddler,点击“Help”菜单,选择“SSL Proxying”,然后点击“Save Charles Root Certificate...”导出证书。
将导出的证书文件(.cer格式)使用OpenSSL转换成.pem格式。
```bash
openssl x509 -inform DER -in FiddlerRoot.cer -out FiddlerRoot.pem
使用OpenSSL计算证书的hash值。
```bash
openssl x509 -inform PEM -subjecthashold -in FiddlerRoot.pem
将计算出的hash值作为文件名,生成系统证书文件。
```bash
openssl x509 -inform PEM -text -in FiddlerRoot.pem > 269953fb.0
将生成的证书文件复制到手机/system/etc/security/cacerts/目录下。
```bash
adb push 269953fb.0 /system/etc/security/cacerts/
修改证书文件的权限为644。
```bash
chmod 644 /system/etc/security/cacerts/269953fb.0
重启手机,让系统重新加载证书。
1. 操作过程中需要手机有root权限。
2. 修改系统证书可能会对系统安全性产生影响,请谨慎操作。
3. 不同品牌的手机操作步骤可能有所不同。
除了上述方法,还有一些其他方法可以将用户证书转成系统证书,比如:
1. 使用Magisk模块:安装movecert模块,将证书转移到系统目录。
2. 使用Xposed框架:通过Xposed框架修改系统设置,使APP信任用户证书。
3. 使用安卓模拟器:在安卓模拟器中安装证书,然后通过ADB命令将证书复制到手机。
把用户证书转成系统证书的方法有很多,你可以根据自己的需求选择合适的方法。希望这篇文章能帮到你,让你的手机从此畅通无阻!