如何创建仅包含私钥/公钥之一的 .pfx 文件

Hon*_*bec 2 ssl openssl certificate

据我所知 .pfx 文件不需要同时包含公钥和私钥。但是,我找不到如何创建仅包含其中一个文件的方法。

我需要这个,因为我正在为 .pfx 文件编写一个验证器,我想检查该文件是否同时包含私钥和公钥。出于测试目的,我想创建一些无效的证书。

Bri*_*pie 5

可能有一种更短的方法可以在不通过 PEM 的情况下完成此操作,但我不知道。

将私钥提取到 PEM:

openssl.exe pkcs12 -in <pfx_file_name>.pfx -nocerts -out private_key.pem
Run Code Online (Sandbox Code Playgroud)

可选,如果您不想在 PEM 或 PFX 文件中使用密码:

openssl.exe rsa -in private_key.pem -out private_key.pem
Run Code Online (Sandbox Code Playgroud)

将公钥和私钥提取到 PEM:

openssl.exe pkcs12 -in <pfx_file_name>.pfx -out public_and_private_key.pem
Run Code Online (Sandbox Code Playgroud)

仅将公钥导出到 PFX:

openssl.exe pkcs12 -in public_and_private_key.pem -inkey private_key.pem -export -out public_key.pfx -nokeys
Run Code Online (Sandbox Code Playgroud)

仅将私钥导出到 PFX:

openssl.exe pkcs12 -in public_and_private_key.pem -inkey private_key.pem -export -out private_key.pfx -nocerts
Run Code Online (Sandbox Code Playgroud)