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

Command line 输入导出密码以生成P12证书,command-line,passwords,openssl,Command Line,Passwords,Openssl,我想从.key和.pem生成P12证书。 我正在运行此命令,并收到输入导出密码的提示: pkcs12 -export -inkey private-key.key -in developer_identity.pem -out iphone_dev.p12 此时我无法输入密码,似乎无法识别键盘输入 我错过了什么?(我不熟悉命令行工具和openSSL)输入密码时,openSSL命令行应用程序不会显示任何字符。只需键入它,然后按enter键,您就会看到它正在工作 您还可以使用openssl pk

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

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

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


我错过了什么?(我不熟悉命令行工具和openSSL)

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


您还可以使用
openssl pkcs12-export-inkey mykey.key-in developer\u identity.pem-out iphone\u dev.p12-password pass:yourspassword
从命令行传递密码
yourspassword
。请查看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
openssl pkcs12 -export -in /tmp/MyCert.crt -inkey /tmp/MyKey.key -out /tmp/MyP12.p12 -name alias -passin pass: -passout pass:
如果您不需要密码,可以使用
pass:
如下所示:

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

如果使用不带密码的密钥,它可以正常工作,并且也可以在不带密码的情况下创建输出证书。

谢谢,这很有效!可以通过openSSL命令直接添加密码吗?这是正确的命令行吗
pkcs12-export-inkey mykey.key-in developer_identity.pem-out iphone_dev.p12-p 123示例
对我来说,openssl的密码输入有点不正常。它要求我输入密码,但没有显示任何内容,正如预期的那样。但我必须按两次回车键。我输入相同的密码进行验证,它将不起作用。我还发现,如果我按一下enter键,然后输入密码,它会显示在我的屏幕上。第二次按enter键将进入验证。我用同样的方式输入同样的密码,然后。。。它不起作用!我正在将密码放入参数中。它是
-password
还是
-passout
?使用-export,-password相当于-passout。否则,-password相当于-passin。这正是我要找的!您知道传入/传出是否是版本特定的吗?