【发布时间】:2016-06-25 23:57:19
【问题描述】:
我有一个 JKS 密钥库,它在我的应用程序中保存了多个私钥/公钥对。这已经使用密钥库的密码进行了保护。我正在添加用于使用 Bouncy Castle 执行 OpenPGP 的密钥,并且我需要生成几个密钥以与 Bouncy Castle PGP 一起使用。我知道我可以将这些密钥存储为单独的文件,但这些文件需要单独使用密码保护,这让用户很头疼。我想简单地将 PGP 密钥存储在现有的密钥库中。我已经阅读了有关 Stackoverflow 的几个回复,暗示这是可能的,但没有关于如何做的明确答案。那么我可以将 PGP 密钥存储在现有的 Keystore 中吗?
这就是我的想法。 Bouncy Castle 的 PGP 类不实现密钥或证书。它确实有 JcaPGPKeyPair 可以包装 PrivateKey/PublicKey 实例。所以我可以在 JCE 中创建密钥,然后使用 JcaPGPKeyPair 将 JCE 密钥“导入”到 BC PGP 基础设施中。完成后,我会丢弃所有 BC PGP 实例,并在我再次需要它们时重新创建。可能使用 JcaPGPKeyConverter 在 JCE 密钥和 PGP 密钥之间进行繁重的转换?
我可以为 PGP 想要使用的签名和加密密钥使用 2 个 JCE RSA 或 DSA 密钥对吗?将这些保留在密钥库中,并在我想使用这些密钥时按需重建 PGP 基础架构?
【问题讨论】:
标签: java bouncycastle pgp openpgp