BouncyCastle (BC) Provider
🔐 Java 加密库,r0capture 用它创建 PKCS12 KeyStore。
概述
BouncyCastle 是开源 Java 加密 Provider,Android 系统自带。r0capture 在 storeP12 里用它:
javascript
var ks = Java.use("java.security.KeyStore").getInstance("PKCS12", "BC");getInstance("PKCS12", "BC"):用 BouncyCastle provider 创建 PKCS12 类型的 KeyStore。
为什么用 BC
| 维度 | BC | 默认 provider |
|---|---|---|
| PKCS12 支持 | 完整 | 部分 Android 版本不全 |
| 可用性 | Android 自带 | — |
| 稳定性 | 跨版本一致 | 各 ROM 实现不一 |
BC 在 Android 上稳定可用,且 PKCS12 支持完整,适合导出客户端证书。
KeyStore 操作
javascript
ks.load(null, null); // 初始化空 KeyStore
ks.setKeyEntry("client", pri, 密码char[], 证书链); // 存入私钥+证书
ks.store(out, 密码char[]); // 写入文件详见 storeP12。