为什么私钥在BKS和PEM之间是不同的

时间:2017-07-13 12:56:50

标签: java android keytool

我想通过程序从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

1 个答案:

答案 0 :(得分:0)

我在追踪openssl项目代码后找到了答案。 私钥已加密,以下是代码: https://github.com/openssl/openssl/blob/master/apps/pkcs12.c

enter image description here