获取秘钥
- 从cer文件中导出公钥
openssl x509 -inform der -in xabank.cer -pubkey -noout > public_key.pem
- 使用keytool 查看keystore中的证书
keytool -list -rfc -keystore ***.jks -storepass 密码
- jks文件导出pfx文件
keytool -v -importkeystore -srckeystore ***.jks -srcstoretype jks -srcstorepass store密码 -destkeystore ***.pfx -deststoretype pkcs12 -deststorepass 密码 -destkeypass 密码
- 从pfx中导出私钥
openssl pkcs12 -in ***.pfx -nocerts -nodes -out ***.key
输入上一步的密码
5. 打印证书信息
keytool -printcert -v -file ***.cer
node rsa解密
const NodeRSA = require('node-rsa');
const pk = 私钥;
const key = new NodeRSA();
key.setOptions({encryptionScheme:'pkcs1'});
key.importKey(pk,'pkcs8-private');
sb = key.decrypt(keyStr,'utf8');
AnyProxy使用
- 一个抓包工具,基于node可二次开发。
- 安装
npm install -g anyproxy
- 运行
anyproxy
默认端口8001 web界面在8002 anyproxy-ca
生成证书,目录:C:\Users\ljy.anyproxy\certificates
anyproxy --intercept
启动AnyProxy,并解析所有https请求
Windows系统信任CA证书
iOS系统信任CA证书
- 点击web ui中的 Root CA,按提示扫描二维码即可安装
iOS >= 10.3信任CA证书
- 除了上述证书安装过程,还需要在 设置->通用->关于本机->证书信任设置 中把AnyProxy证书的开关打开,否则safari将报错。
安卓系统信任CA证书
首先和iOS类似,需要先扫描证书的二维码进行下载。然后不同的安卓系统安装证书的方式可能有所不同,但是安装的步骤是类似的,我们列举了几种类型。
- 下载后的证书可以直接单击打开并安装,这种方式是最简单的,直接安装即可
- 证书下载到指定目录后,需要从其他入口进行安装,包括: 设置 -> 安全性与位置信息 -> 加密与凭据 -> 从存储设备安装。找到你下载的证书文件,进行安装 设置 -> 安全 -> 从SD卡安装证书。找到你下载的证书文件,进行安装
不同安卓系统支持安装的证书文件类型不尽相同,大多支持安装拓展名为 .crt 的证书文件,少部分仅支持 .cer 文件(已知如 OPPO R15),AnyProxy 提供了多种类型的证书文件,可在下载安装时选择。