使用中间证书将 PEM 转换为 PKCS12

使用中间证书将 PEM 转换为 PKCS12

我想将 PEM(+key) 证书转换为文件*.p12。我知道当我没有中间证书时我会这样做:

openssl pkcs12 -export -out certificate.pfx -inkey privateKey.key -in certificate.crt -certfile CACert.crt

我有中级证书该怎么办?

答案1

您需要将所有 PEM 文件连接为一个,然后将其转换为 PKCS#12:

$ cat certificate.crt intermediate.crt > bundle.crt
$ openssl pkcs12 -export -out certificate.pfx -inkey privateKey.key -in bundle.crt

答案2

为了方便起见:您可以将证书颁发机构的捆绑包合并为一个文件(例如 ca-bundle.crt)并使用 -certfile 参数传递它:

openssl pkcs12 -inkey mycert.key -in mycert.crt -export -out mycert.pfx -certfile ca-bundle.crt

我总是先从中间证书开始构建 CA 包,然后附加/连接链中的下一个中间证书(如果有多个)。根据您要安装到的服务器,您可能也希望或不希望包含 CA 根证书。

此方法仍然适用于 OpenSSL 版本 3。

相关内容