首页 > 解决方案 > 如何创建包含来自 PKCS12 的证书链的 .crt 存储文件?

问题描述

我有一个包含证书链和私钥的 PKCS12 文件。我想使用 BouncyCastle 使用该证书链创建一个 CRT 文件,就像我们可以使用 OpenSSL 命令行工具一样:

openssl pkcs12 -in [yourfilename.pfx] -clcerts -nokeys -out [certificatename.crt]

我已经能够加载 pkcs12 密钥库并获得证书:

Certificate[] certs = pKeyStore.getCertificateChain(pAlias);

但是我找不到可以接受上述证书数组的 CRT 文件的存储构建器...

标签: bouncycastlejce

解决方案


您要查找的课程org.bouncycastle.openssl.jcajce.JcaPEMWriterbcpkix中。您可以使用它的write方法将各种 JCE 接口(X509CertificateX509CRLPublicKeyPrivateKeyKeyPair)编码为 PEM 文件。

在你的情况下:

final JcaPEMWriter pemWriter = new JcaPEMWriter(System.out);
for (final Certificate cert : certs) {
    pemWriter.write(cert);
}

推荐阅读