2012-11-16 72 views
0

我试图从OpenSSL创建的一些现有.der文件创建P12证书。创建P12证书时出现OpenSSL私钥错误

当我尝试运行下面的命令时,出现错误。

C:\Windows\system32>openssl pkcs12 -export -out bundle.p12 -inkey <PATH>/PrivKey.der -in <PATH>/ClientSignedCert.der -certfile <PATH>/CACert.der 

错误我收到:

Loading 'screen' into random state - done 
unable to load private key 
5688:error:0906D06C:PEM routines:PEM_read_bio:no start line:.\crypto\pem\pem_lib 
.c:696:Expecting: ANY PRIVATE KEY 

我不明白这一点。我给OpenSSL一个私钥(PrivKey.der)。可能是这个错误的原因是什么?

OpenSSL 1.0.1 2012年3月14日(Library:OpenSSL 1.0.1c 2012年5月10日)
Windows 7 Professional。

+0

Stack Overflow是用于编程和发展问题网站。这个问题似乎是无关紧要的,因为它不是关于编程或开发。请参阅帮助中心的[我可以询问哪些主题](http://stackoverflow.com/help/on-topic)。也许[超级用户](http://superuser.com/)或[Unix&Linux堆栈交换](http://unix.stackexchange.com/)会是一个更好的地方。另请参阅[我在哪里发布有关Dev Ops的问题?](http://meta.stackexchange.com/q/134306)。 – jww

回答

0

根据openssl PKCS12文档,您的-in-inkey和certfile文件必须采用PEM格式。

从DER转换证书PEM:

x509 –in ClientSignedCert.der –inform DER –out ClientSignedCert.crt –outform PEM 
x509 –in CACert.der –inform DER –out CACert.crt –outform PEM 

从DER转换键PEM:

rsa –in PrivKey.der –inform DER –out PrivKey.key –outform PEM 

Openssl PKCS12 documentation