我正在尝试从通过OpenSSL创建的一些现有.der文件中创建P12证书。

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

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日(图书馆:OpenSSL 1.0.1c 2012年5月10日)
Windows 7专业版。

最佳答案

根据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

要将 key 从DER转换为PEM:
rsa –in PrivKey.der –inform DER –out PrivKey.key –outform PEM

Openssl PKCS12 documentation

关于创建P12证书时出现OpenSSL私钥错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13421269/

10-11 22:46