| 222 | } |
| 223 | |
| 224 | function storeP12(pri, p7, p12Path, p12Password) { |
| 225 | var X509Certificate = Java.use("java.security.cert.X509Certificate") |
| 226 | var p7X509 = Java.cast(p7, X509Certificate); |
| 227 | var chain = Java.array("java.security.cert.X509Certificate", [p7X509]) |
| 228 | var ks = Java.use("java.security.KeyStore").getInstance("PKCS12", "BC"); |
| 229 | ks.load(null, null); |
| 230 | ks.setKeyEntry("client", pri, Java.use('java.lang.String').$new(p12Password).toCharArray(), chain); |
| 231 | try { |
| 232 | var out = Java.use("java.io.FileOutputStream").$new(p12Path); |
| 233 | ks.store(out, Java.use('java.lang.String').$new(p12Password).toCharArray()) |
| 234 | } catch (exp) { |
| 235 | console.log(exp) |
| 236 | } |
| 237 | } |
| 238 | Java.perform(function () { |
| 239 | |
| 240 | //在服务器校验客户端的情形下,帮助dump客户端证书,并保存为p12的格式,证书密码为r0ysue |