我想通过程序从BKS商店获取私钥,但我发现我的解析和pem文件之间存在差异。
任何人都知道为什么会这样?
这是我的代码:
KeyStore testkeyStore = KeyStore.getInstance("bks");
testkeyStore.load(inputstream, keystorepass);
PrivateKey key = (PrivateKey)testkeyStore .getKey("xxxxx",keypassword);
byte[] bas = key.getEncoded();
bas = Base64.encode(bas, Base64.DEFAULT);
String keys = new String(bas);
Log.d("XXX","keys " + keys);
以下是我如何将bks转移到pem:
keytool -importkeystore -srckeystore xxx.bks -srcstoretype BKS -destkeystore xx.p12 -deststoretype PKCS12 -provider org.bouncycastle.jce.provider.BouncyCastleProvider
openssl pkcs12 -in xxx.p12 -out xxx.pem
答案 0 :(得分:0)
我在追踪openssl项目代码后找到了答案。 私钥已加密,以下是代码: https://github.com/openssl/openssl/blob/master/apps/pkcs12.c