我有一个使用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