获取秘钥

  1. 从cer文件中导出公钥
openssl x509 -inform der -in xabank.cer -pubkey -noout > public_key.pem
  1. 使用keytool 查看keystore中的证书
keytool -list -rfc -keystore ***.jks -storepass 密码
  1. jks文件导出pfx文件
keytool -v -importkeystore -srckeystore ***.jks -srcstoretype jks -srcstorepass store密码 -destkeystore ***.pfx -deststoretype pkcs12 -deststorepass 密码 -destkeypass 密码
  1. 从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使用

  1. 一个抓包工具,基于node可二次开发。
  2. 安装 npm install -g anyproxy
  3. 运行 anyproxy 默认端口8001 web界面在8002
  4. anyproxy-ca 生成证书,目录:C:\Users\ljy.anyproxy\certificates
  5. 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 提供了多种类型的证书文件,可在下载安装时选择。