从pem rsa生成pfx证书

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

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

并为交换使用它,我需要使用此命令将其转换为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: 

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

它失败,因为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 

-nokeys参数将导致OpenSSL不在输出中包含任何私钥,而-nodes参数将要求它不对任何私钥进行encryption。 这不会导致可用的PKCS#12文件。

尝试一下:

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