2012-06-12 93 views
13

目前我有一个只包含私钥的.PEM文件。我需要将此文件转换为.PKCS12文件。目前我正试图使用​​openssl来实现这一点,我遇到了一些问题。我使用OpenSSL转换.PEM只包含RSA私钥到.PKCS12

.pem文件的格式为:

----- BEGIN RSA私钥-----

一些关键

--- --END RSA私钥-----

我用下面的openssl指令来尝试这个.PEM文件转换成.PKCS12:

OpenSSL的PKCS12 -export -inkey file.pem -out file.p12

然后该控制台与消息挂起:

加载 '屏幕' 变成随机状态完成度的数

我在做什么错?

任何帮助将appriciated。

+0

到目前为止,您只接受了任何一个问题的答案,那就是您自己的答案! –

+0

pkcs12文件通常包含证书链以及链的叶证书的私钥。最简单的形式是它包含一个自签名证书和相关的私钥。您需要使用公钥创建证书,并且该证书必须包含消费应用程序所期望的字段。 –

回答

25

我遇到了这个问题,并通过在导出后添加-nocerts选项来解决它。我对“冻结”原因的猜测是,openssl可能试图从控制台读取其他输入。

openssl pkcs12 -export -nocerts -inkey your.private.key.pem -out your.private.key.p12 
+0

@ sliq ..你可以看看我的问题吗? http://stackoverflow.com/questions/41149979/pem-key-generation-format-encoding-errors –

3

我认为你必须提供证书为好,不仅私钥:

OpenSSL的PKCS12 -export -inkey privatekey.pem -in certificate.cer退房手续 bothAsPKCS12.p12

+0

是的。根据我的经验,必须提供'-in'(例如.cer/.crt)和'-inkey'(例如.key)。 – aff