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

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

谁能给我一个提示,告诉我如何实现?

最佳答案

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

您提供的PEM标题确实建议您改用OpenSSL编码-在这种情况下,您应该可以将BC PEMWriter与PrivateKeyInfo对象结合使用,或者与通过KeyFactory生成并传递了PrivateKeyInfo编码的PrivateKey对象结合使用作为PKCS8EncodedKeySpec输入(取决于您所使用的BC版本)。

问候,

大卫

10-07 18:55