openssl安装
1,前往官网下载openssl工具包https://www.openssl.org/source/
2,安装,一路next ,注意保存一下安装地址
3,安装完成,再进行电脑环境变量的设置 ,在用户和系统变量添加
G:\OpenSSL-win64(安装路径+\bin)
4,打开运行窗口输入 openssl version
出现版本号表示成功安装
adb(Android Debug Bridge)安装使用
可以去官网下载Android Debug Bridge进行安装 ,也可以使用Android Studio 的 ,
以android Studio编辑器为例
复制地址 ,进入文件夹再点进platform-tools文件 ,复制地址,把这个地址写入环境变量的path
打开运行窗口输入 adb version
用openssl处理CA证书
在抓包软件下载好证书,转换成 hash值.0 后缀的文件
crt格式的证书为例子
①在证书的文件夹下打开运行窗口,输入指令,转换文件格式
(暂时未明白crt的证书为什么不能直接计算hash值,所以我这里先转成pem格式)
//crt文件转成pem格式文件
openssl x509 -in chartes.crt -out chartes.pem -outform PEM
含义:
openssl:处理加密证书、密钥和相关操作的工具
x509:操作的对象是一个 X.509 标准的证书
-in chartes.crt:指定输入的证书文件路径和文件名为 chartes.crt
-out chartes.pem: 指定输出的 PEM 格式证书文件路径和文件名为 chartes.pem
-outform PEM: 指定输出的证书文件格式为 PEM
②计算hash值
//计算chartes.pem文件的hash值
openssl x509 -inform PEM -subject_hash_old -in chartes.pem
含义:
-inform PEM:输入证书的格式为 PEM 编码
-subject_hash_old:计算证书主题的旧版本哈希值
-in 证书文件.pem:指定要计算哈希值的证书文件路径和文件名(这里窗口是在同一目录下打开的)
③以计算出的hash值为文件名,以".0"为后缀导出文件
//
openssl x509 -inform PEM -text -in chartes.pem > 364618e0.0
全过程图为:
使用adb工具将证书挂载到系统
查看当前连接的设备
adb devices
会出现下图(如果编码后面显示的不是device,需要在手机弹框上点击确认)
获取root权限并将证书放至系统(/system/etc/security/cacerts)
adb root //获取root权限
adb remount //重新挂载设备
注意,
设备必须要有root权限否则无法构建root结构(adbd cannot run as root in production builds)
push证书
adb push 证书文件 /system/etc/security/cacerts/
push完成后,可以进入文件查找证书列表
adb shell
cd /system/etc/security/cacerts/
ls -la
输入后如下图
查找到刚刚的文件成功进入系统路径下