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

我想从.key 和.pem 生成一个 P12证书。 我正在运行这个命令,系统提示我输入一个导出密码:

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

enter image description here

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

我错过了什么? (我是命令行工具和 openSSL 的新手)

152297 次浏览

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

还可以使用 openssl pkcs12 -export -inkey mykey.key -in developer_identity.pem -out iphone_dev.p12 -password pass:YourPassword从命令行传递密码 YourPassword。有关更多信息,请参见 OpenSSL 手册中的 通过短语选项部分。

我知道这个帖子已经闲置了一段时间了,但我只是想补充一下 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

祝你写剧本愉快! !

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

选择的答案显然在2019年不再有效(至少对我来说)。

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

根据原始答案中的 那个链接(同样的信息在 man openssl中) ,openssl 有两个密码参数,它们是输入部分的 -passin和输出文件的 -passout

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

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

openssl pkcs12 -export -in /tmp/MyCert.crt -inkey /tmp/MyKey.key -out /tmp/MyP12.p12 -name alias -passin pass:keypassphrase -passout pass:certificatepassword

如果你不想要密码,你可以使用如下 pass::

openssl pkcs12 -export -in /tmp/MyCert.crt -inkey /tmp/MyKey.key -out /tmp/MyP12.p12 -name alias -passin pass: -passout pass:

没有密码的密钥可以很好地工作,输出证书也会在没有密码的情况下创建。