大家好,我正在尝试把我在Java程序中生成的PKCSα8私钥转换成一个PEM编码文件。
Security.addProvider(new BouncyCastleProvider());
SecureRandom rand = new SecureRandom();
JDKKeyPairGenerator.RSA keyPairGen = new JDKKeyPairGenerator.RSA();
keyPairGen.initialize(2048, rand);
KeyPair keyPair = keyPairGen.generateKeyPair();
PEMWriter privatepemWriter = new PEMWriter(new FileWriter(new File(dir + "private.key")));
privatepemWriter.writeObject(keyPair.getPrivate());
在运行程序之后,我有两种格式的私钥和一个公钥(代码不会在工作时显示)。然后,我使用这个openssl命令将private.key转换回PEM格式的文件。
openssl pkcs8 -nocrypt -inform DER -in private.key -out private2.pem
为了正确地将这个私钥转换成我需要的PEM格式,我缺少什么步骤?我不能在程序中使用openssl,否则我只需添加该函数调用。我可以在这个程序中访问bouncycastle libs,所以也许它有一个我忽略的解决方案。