如何创建一个包含来自 PKCS12 的证书链的 .crt 存储文件?

问题描述

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

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

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

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

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

解决方法

您要查找的类是 bcpkix 中的 org.bouncycastle.openssl.jcajce.JcaPEMWriter。您可以使用其 write 方法将各种 JCE 接口(X509CertificateX509CRLPublicKeyPrivateKeyKeyPair)编码为PEM 文件。

就你而言:

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

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...