Bouncycastle: 如何创建RSA私钥的加密PKCS8表示形式?

3
在我的应用程序中,我有一个AsymmetricCipherKeyPair keyPairKeyParameter key。从这个中,我需要生成一个PKCS#8格式的私钥表示形式。
-----BEGIN RSA PRIVATE KEY-----
...
-----END RSA PRIVATE KEY-----

有人能给我一些提示,告诉我如何完成这个任务吗?

1个回答

3
你可以使用org.bouncycastle.crypto.util.PrivateKeyInfoFactory从私有的KeyParameter创建一个PrivateKeyInfo对象。对此执行getEncoded()将返回代表PKCS#8版本的密钥的字节。
你提供的PEM标题似乎表明你可能想要OpenSSL编码,如果是这样,您应该能够使用BC PEMWriter与PrivateKeyInfo对象或使用KeyFactory生成的PrivateKey对象结合使用,并将PrivateKeyInfo的编码作为PKCS8EncodedKeySpec传递(这取决于您使用BC的哪个版本)。
谢谢,
大卫

"OpenSSL"或PEM编码只是二进制的base64编码版本。 - OrangeDog

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接