【问题标题】:How to generate a PGP Certificate in Java如何在 Java 中生成 PGP 证书
【发布时间】:2014-02-05 22:03:44
【问题描述】:

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

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

【问题讨论】:

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

标签: java x509certificate bouncycastle pgp openpgp


【解决方案1】:

Bouncy Castle 可以做到这一点,就像 Eugene 建议的那样,您只是将证书与密钥混为一谈。

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

如果您想创建这样的 PGP 密钥对,请参阅 BouncyCastle Example of generating an OpenPGP Keypair。

如果你想导入你生成的 OpenPGP 密钥对,你需要处理一个 public 密钥环和一个 secret 密钥环(可选,如果你有私有部分钥匙)。

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-10-18
    • 1970-01-01
    • 2016-07-31
    • 1970-01-01
    • 1970-01-01
    • 2022-08-16
    • 2020-04-24
    • 2018-06-03
    相关资源
    最近更新 更多