如何在Java中生成PGP证书

如何在Java中生成PGP证书,java,x509certificate,bouncycastle,pgp,openpgp,Java,X509certificate,Bouncycastle,Pgp,Openpgp,我目前正在使用Bouncy Castle库(1.45)生成X509证书(即X509V1CertificateGenerator),现在我需要能够创建PGP证书并将其导入/导出到密钥库中。但是,在他们的“openpgp”包中,我看不到任何对生成PGP证书的支持 我看到的是PGPKeyRingGenerator,PGPSignatureGenerator。我愿意使用另一个Java库。非常感谢。Bouncy Castle可以做到这一点,正如Eugene所建议的,你只是把证书和密钥混为一谈 它是X509

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


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

Bouncy Castle可以做到这一点,正如Eugene所建议的,你只是把证书和密钥混为一谈

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

如果要创建这样的PGP密钥对,请参阅

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

要导入外键,请使用。 要导入私钥,请使用


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

PGP密钥不称为“证书”,因此存在问题。很可能您需要的是PGPKeyRingGenerator。谢谢。我希望能够生成一个PGP证书,并将其导入密钥库。我可以使用PGPKeyRingGenerator生成公共/私有PGP密钥,但是如何将公共密钥嵌入到实际的PGP证书中?您阅读了我的答案吗?不存在“PGP证书”。PGP没有“证书”的概念。阅读OpenPGP格式的RFC4880。