5

我正在尝试从从 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 专业版。

4

1 回答 1

3

根据 openssl PKCS12 文档,您的-in-inkeycertfile 文件必须是 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 文档

于 2013-02-04T10:20:24.327 回答