从 pem rsa 生成 pfx 证书

Ric*_*ile 0 certificate rsa openssl dkim

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

# dkim-genkey -t -s code001 -d domain.com
Run Code Online (Sandbox Code Playgroud)

为了将它与交换一起使用,我需要使用以下命令将其转换为 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:
Run Code Online (Sandbox Code Playgroud)

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

b0f*_*0fh 5

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

您可以生成证书

openssl req -new -x509 -key code001.private -out code001.pem
Run Code Online (Sandbox Code Playgroud)

并填写交互式问题,然后生成 pfx

cat code001.private code001.pem |openssl pkcs12 -export -out code001.pfx
Run Code Online (Sandbox Code Playgroud)