从 pem rsa 生成 pfx 证书

从 pem rsa 生成 pfx 证书

我有一个用 opendkim 生成的 PEM RSA 私钥:

# dkim-genkey -t -s code001 -d domain.com

为了将其与 Exchange 一起使用,我需要使用此命令将其转换为 pfx:

# openssl pkcs12 -export -in code001.private -nodes -out code001.pfx -nokeys
Enter Export Password:
Verifying - Enter Export Password:
4192275:error:0D0C6070:asn1 encoding routines:ASN1_item_pack:encode error:asn_pack.c:170:

但是我收到这个错误,我不知道这是否是正确的方法。

答案1

它失败了,因为code001.private只包含一个 RSA 密钥,而 pkcs12 需要证书。此外,正如 Stephane 所说,-nokeys 选项将导致 openssl 跳过私钥。

您可以使用以下方式生成证书

openssl req -new -x509 -key code001.private -out code001.pem

并填写交互式问题,然后使用以下方式生成 pfx

cat code001.private code001.pem |openssl pkcs12 -export -out code001.pfx

答案2

-nokeys参数将导致 OpenSSL 不在输出中包含任何私钥,并且该-nodes参数将要求它不加密任何私钥。无论如何,这都不会产生可用的 PKCS#12 文件。

尝试一下:

openssl pkcs12 -export -in code001.private -out code001.pfx

答案3

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

相关内容