部分用户在使用MuMu模拟器12的过程中需要进行抓包一类的操作,但发现无法安装导入证书,无法正常抓包,这是因Android7.0之后新版本系统的安全限制导致(Android7.0 之后默认不信任用户添加到系统的CA证书),遇到这类问题的用户可参考以下方法步骤进行操作导入证书。
第一步,用Charles(点击下载Charles>>)导出证书,命名为 charles.pem
第二步,安装open ssl (点击下载>>),安装默认安装,最后的捐款取消勾选。之后配置环境变量,将openssl安装路径bin的路径(例如 C:\OpenSSL-Win64\bin)加入到操作系统的系统环境变量Path中
第三步,使用OpenSSL签发证书
在cmd中输入(点击键盘win+R,呼出运行窗口,输入cmd即可打开cmd操作界面)
openssl x509 -subject_hash_old -in <Certificate_File>
备注1:<Certificate_File>为此前导出的证书(charles.pem),这个路径为绝对路径
备注2:如果输入命令弹出警告WARNING: can't open config file: /etc/ssl/openssl.cnf,请先执行以下命令:
set
OPENSSL_CONF
=
c
:
\
[
PATH
TO
YOUR
OPENSSL
DIRECTORY
]
\
bin
\
openssl
.
cfg
然后将 charles.pem 这个文件改为 生成的数字加.0,例如
第四步,用前端根证书导入的方法导入证书
备注:打开安卓12设置中心勾选开启root权限,必须使用root,并到磁盘设置内将可写入功能开启。
在cmd中输入(点击键盘win+R,呼出运行窗口,输入cmd即可打开cmd操作界面)
adb connect 127.0.0.1:7555
adb shell
mount -o remount,rw /system
exit
adb push <Certificate_File> /etc/security/cacerts/
备注2:<Certificate_File>为证书(charles.pem)绝对路径
adb shell chmod 644 /etc/security/cacerts/1d7e61a1.0
如何查看证书已经成功安装
在cmd中输入(点击键盘win+R,呼出运行窗口,输入cmd即可打开cmd操作界面)
adb shell
cd /etc/security/cacerts/
ls
如果还是不行,需要到Charles内进行配置,点击Proxy——SSL Proxying Settings——SSL Proxying,勾选Enable ——SSL Proxying,点击“add”,将Host和Port配置为*,如下图所示: