如何用Java生成PGP证书

时间:2014-02-05 22:03:45

标签: java x509certificate bouncycastle pgp openpgp

我目前正在使用Bouncy Castle库(1.45)来生成X509证书(即X509V1CertificateGenerator),现在我需要能够在密钥库中创建和导入/导出PGP证书。但是,我没有看到任何支持在他们的“openpgp”包中生成PGP证书。

我所看到的只是PGPKeyRingGenerator,PGPSignatureGenerator。我愿意使用另一个Java库。非常感谢你。

1 个答案:

答案 0 :(得分:5)

正如Eugene建议的那样,Bouncy Castle可以做到这一点,你只是将证书与密钥混合在一起。

这是X509证书和OpenPGP密钥对。证书存储在证书存储中,OpenPGP密钥存储在密钥环中。

如果您想创建此类PGP密钥对,请参阅BouncyCastle Example of generating an OpenPGP Keypair

如果要导入生成的OpenPGP密钥对,则需要处理 public 密钥环和密钥密钥环(可选,如果您拥有私有部分关键)。

要导入外键,请使用PGPPublicKeyRing.insertPublicKey。 要导入私钥,请使用PGPSecretKeyRing.insertSecretKey

这些方法是静态的,请务必生成密钥环(即证书存储类似)。此外,在使用这些类之前,您应该阅读有关PGP或gnupgs基本概念的内容。