java - 如何用 Java 生成 PGP 证书

标签 java x509certificate bouncycastle pgp openpgp

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

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

最佳答案

Bouncy CaSTLe 可以做到这一点,正如尤金建议的那样,您只是混淆了证书和 key 。

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

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

如果您想导入您生成的 OpenPGP key 对,您需要处理一个公共(public) key 环和一个 secret key 环(可选,如果您有 key 对的私有(private)部分) key )。

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

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

关于java - 如何用 Java 生成 PGP 证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21589523/

相关文章:

java - 如何检查Java Runtime Enviroment中是否存在具有指定类名的重复类?

java - 仅在第一页上显示使用 itext 生成的 pdf 中的页数

java - 如何通过 mockito 初始化 Servlet 配置

iis-6 - 证书 : Cannot find the certificate and private key for decryption Error when sign

.net - 如何使用 ssl 通配符证书通过 X509 相互验证多个 WCF 服务器?

wcf - 将自签名证书与 WCF 一起使用是否安全?

java - CMS、CAdES_T、XAdES/XAdES_T、PAdES

java - Jacoco Maven 插件 - 包括测试源

java - 使用 BouncycaSTLe 与 PSK 的 TLS 连接

java - 如何使用 BouncyCaSTLe 轻量级 API 在 GCM 密码中利用 AAD