使用 bouncy-gpg 和 PCKS12 密钥加密和解密

时间:2021-02-03 19:50:36

标签: java bouncycastle gnupg

我在使用 bouncy-gpg 和 PCKS12 密钥实现加密和描述时遇到问题。 现在我有了 PCKS12 密钥(扩展名:.p12)。从这个密钥,我可以得到公钥和私钥。 否则, bouncy-gpg 需要使用 gpg 密钥。 如何在 bouncy-gpg 中使用 p12 文件? 如果有任何建议,将不胜感激。 谢谢。

1 个答案:

答案 0 :(得分:1)

Meta:堆栈约定是将代码作为文本格式发布为代码,这意味着它必须在问题或答案中而不是评论中,因为评论不能支持这种格式。虽然我个人不太在意,但很多社区会抱怨图像 (1) 不能被想要解决您的问题的人剪切和粘贴,(2) 没有索引,以及 (3) 没有t 可供视障用户访问,可能还有那些设备有限的用户。另外,约定是在问题中发布问题,而不是在评论中,因为评论可以而且经常被删除而无迹可寻。

更重要的是,我不明白您的意思是特别this bouncy-gpg,而不是(只是)“BouncyCastle 加 GPG”的更一般概念。这花了我更长的时间,因为我熟悉 BouncyCastle 的大部分内容,但完全不熟悉 bouncy-gpg。也就是说,

又是私人和秘密之间的 PG​​P 混淆。 BouncyCastle 的 PGPPrivateKey 在 BouncyCastle 中可以使用 ,但与外部键不同;由于历史原因,真正是私钥或子密钥的 PGP 格式被称为秘密(子)密钥,并且对应于 BouncyCastle 的 PGPSecretKey——即使文件在装甲时使用标签 {{1} } (!) 你从 PGP PRIVATE KEY BLOCK 得到的根本不是一个数据包,只是密码加密的密钥数据包的部分。要获得正确的数据包,您需要类似的东西:

PGPPrivateKey.getPrivateKeyPacket()

正如查理·布朗所说,哎呀!

相关问题