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

时间:2013-03-01 18:07:24

标签: java rsa bouncycastle

在我的申请中,我有AsymmetricCipherKeyPair keyPairKeyParameter key。由此,我需要以

的形式生成私钥的PKCS#8表示
-----BEGIN RSA PRIVATE KEY-----
...
-----END RSA PRIVATE KEY-----

有人能给我一个如何实现这一目标的暗示吗?

1 个答案:

答案 0 :(得分:2)

您可以使用org.bouncycastle.crypto.util.PrivateKeyInfoFactory从私有KeyParameter创建PrivateKeyInfo对象。 getEncoded()on将返回表示密钥的PKCS#8版本的字节。

您给出的PEM标题建议您可能需要OpenSSL编码 - 在这种情况下,您应该能够将BC PEMWriter与PrivateKeyInfo对象结合使用,或者与使用KeyFactory生成的PrivateKey对象一起使用PrivateKeyInfo作为PKCS8EncodedKeySpec传入(取决于您使用的BC的版本)。

此致

大卫