如何在Windows上使用带有OpenSSL的passin?

时间:2018-05-01 16:35:20

标签: openssl

我正在尝试使用open ssl从使用passhrase的.pfx文件中提取.pem私钥。

当我这样做时:

C:\OpenSSL-Win32\bin\openssl.exe pkcs12 -in cert.pfx -passin pass:foobar -out key.pem

然后提示我输入密码(STDIN)。但是,正如您在上面看到的那样,我正尝试通过-passin pass:foobar

自行提供密码

我哪里错了?

P.S如果我在提示时输入密码就可以了。但我想避免提示并提供密码。

我的openssl版本是

OpenSSL 1.1.0h  27 Mar 2018

2 个答案:

答案 0 :(得分:0)

有些openssl参数在命令行上对它们的顺序很挑剔。尝试:

C:\OpenSSL-Win32\bin\openssl.exe pkcs12 -passin pass:foobar -in cert.pfx -out key.pem

答案 1 :(得分:0)

经过进一步的实验,我发现使用passin和passout args似乎可以解决这个问题。然而,这对我来说似乎不对?

即这有效:

C:\OpenSSL-Win32\bin\openssl.exe pkcs12 -in cert.pfx -passout pass:foo -passin pass:foo -nocerts -out key.pem