3

在我的应用程序中,我有一个AsymmetricCipherKeyPair keyPairand KeyParameter key。由此,我需要生成一个 PKCS#8 形式的私钥表示

-----BEGIN RSA PRIVATE KEY-----
...
-----END RSA PRIVATE KEY-----

任何人都可以给我一个关于我如何做到这一点的提示吗?

4

1 回答 1

2

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

您提供的 PEM 标题确实表明您可能需要 OpenSSL 编码 - 在这种情况下,您应该能够将 BC PEMWriter 与 PrivateKeyInfo 对象结合使用,或者与使用 KeyFactory 生成的 PrivateKey 对象结合使用,并传递 PrivateKeyInfo 的编码作为 PKCS8EncodedKeySpec (取决于您使用的 BC 版本)。

问候,

大卫

于 2013-03-07T13:05:34.260 回答