fiddler如何安装证书与转换证书类型在此不做赘述,仅说明过程中我遇到的问题,查阅了很久资料,浪费了不少时间。
1.证书安装完成后异常,APP不是闪退就是断网,是因为部分软件不信任用户证书,此时需要把转成cer证书转pem证书
2.这里通过openssl进行操作
openssl下载链接,使用源码编译opensll请参考别的帖子
安装完成后打开bin目录下的cmd执行openssl.exe文件,执行以下命令进行证书格式的转换:
x509 -inform der -in 文件路径(可以直接拖进去)-out 文件名.pem
到这里转换就已经完成了,接下来输入exit即可查看转换后文件存储路径
3.证书文件转换完成后就开始导入了,这里使用Android Debug Bridge,这个软件我随便下的
第一步打开模拟器,然后通过adb安装目录打开cmd或者配置环境变量。
可以先查看一下连接状态,指令:adb devices
最容易出现的问题来了,这里可能会报错,显示端口被占用,你百度一般会叫你输入adb nodaemon server或者强行关闭占用程序,这个办法在这里没用。原因是占用端口的程序是模拟器中的adb,这两个adb因为版本不同用同一个端口冲突了。
解决办法也很简单:找到刚才adb放的目录,将adb.exe拷贝到桌面,重命名为 nox_adb.exe ,需要关闭模拟器,找到模拟器的exe存放地址,将nox_adb.exe 直接放到该目录,替换掉即可。
4.再开一个openssl cmd,查看hash值并复制一份pem文件,重命名为刚刚复制的hash值+.0文件名
指令为:x509 -subject_hash_old -in 文件名(拖进去也可以)
5.在之前adb的cmd中安装证书
指令为:adb push 刚刚重命名的文件 /system/etc/security/cacerts/
6.总结
这时就可以查看证书啦,到这里我出现的问题就解决完了,从最开始的openssl都不会用,差点放弃,到后来解决了问题,还是蛮高兴的。
最后,这个不是详细教程,如果你需要从头到尾的过程请查阅别人的文章。
Fiddler玩的好,监狱进的早,祝各位好运!