输入导出密码以生成P12证书

时间:2014-03-11 13:29:02

标签: command-line passwords openssl

我想从.key和.pem生成P12证书。 我正在运行此命令并提示输入导出密码:

pkcs12 -export -inkey private-key.key -in developer_identity.pem -out iphone_dev.p12

enter image description here

此时我无法输入密码,似乎无法识别键盘输入。

我想念什么? (我是命令行工具和openSSL的新手)

4 个答案:

答案 0 :(得分:73)

输入密码时,OpenSSL命令行应用程序不显示任何字符。只需输入它然后按回车键,您就会看到它正在工作。

您还可以使用openssl pkcs12 -export -inkey mykey.key -in developer_identity.pem -out iphone_dev.p12 -password pass:YourPassword从命令行传递密码YourPassword。有关详细信息,请参阅OpenSSL手册中的Pass Phrase Options部分。

答案 1 :(得分:9)

我知道这个帖子已经闲置了一段时间,但我只是想加上我的两分钱来补充jariq的评论...

根据手册,您没有必要使用" -password"选项。

让我们说mykey.key有一个密码,你想用另一个密码保护iphone-dev.p12,这就是你要使用的:

pkcs12 -export -inkey mykey.key -in developer_identity.pem -out iphone_dev.p12 -passin pass:password_for_mykey -passout pass:password_for_iphone_dev

玩得开心!

答案 2 :(得分:1)

MacOS High Sierra突然更新openssl命令非常疯狂。

可能在上个月:

$ openssl pkcs12 -in cert.p12 -out cert.pem -nodes -clcerts
MAC verified OK

但现在:

$ openssl pkcs12 -in cert.p12 -out cert.pem -nodes -clcerts -password pass:
MAC verified OK

答案 3 :(得分:0)

选择的答案显然在2019年不再起作用了(至少对我而言)。

我试图使用openssl(版本1.1.0)导出证书,并且参数-password不起作用。

根据原始答案中的that linkman openssl中相同的信息),openssl有两个密码参数,分别是-passin和输入部分{{1} }用于输出文件。

对于-passout命令,我使用-export作为密钥文件的密码,并使用-passin为我的P12文件创建了新密码。

所以没有任何提示的完整命令如下:

-passout

如果您不需要密码,则可以使用openssl pkcs12 -export -in /tmp/MyCert.crt -inkey /tmp/MyKey.key -out /tmp/MyP12.p12 -name alias -passin pass:keypassphrase -passout pass:certificatepassword ,如下所示:

pass:

使用没有密码的密钥也可以正常工作,并且也将创建没有密码的输出证书。