在我的应用程序中,我有一个AsymmetricCipherKeyPair keyPair
and KeyParameter key
。由此,我需要生成一个 PKCS#8 形式的私钥表示
-----BEGIN RSA PRIVATE KEY-----
...
-----END RSA PRIVATE KEY-----
任何人都可以给我一个关于我如何做到这一点的提示吗?
在我的应用程序中,我有一个AsymmetricCipherKeyPair keyPair
and KeyParameter 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 生成的 PrivateKey 对象结合使用,并传递 PrivateKeyInfo 的编码作为 PKCS8EncodedKeySpec (取决于您使用的 BC 版本)。
问候,
大卫