在Java中将PKCS#8私钥转换为PEM

Hiro2k:

大家好,我正在尝试将我在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

当我比较private.pem和private2.pem时,它们是不同的,并且显然当我尝试使用private.pem时,它说这不是有效文件。

为了将此私钥正确转换为所需的PEM格式,我缺少什么步骤?我不能在程序中使用OpenSSL,否则我只会添加该函数调用。我可以在此程序中访问BouncyCastle库,因此也许它具有我忽略的解决方案。

总统詹姆斯·波尔克(James K. Polk):

您可以在Bouncycastle使用PEMWriter类。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章