20

我已成功生成.p12文件,但收到一条消息,如下所示:

C:\OpenSSL-Win32\bin>openssl pkcs12 -export -inkey mykey.key -in exported.pem -out myfile.p12

将“屏幕”加载到随机状态 - 完成 没有证书与私钥匹配

谁能告诉我这个错误是怎么回事?

此外,文件的大小myfile.p12为 0KB,当我尝试打开它时,我在一个带有 OK 按钮的小窗口中收到以下消息:

`无效的公钥安全对象文件

此文件无效用作以下用途:个人信息交换`

请说清楚。

谢谢

4

3 回答 3

22

资源

当证书是 DER 编码时,OpenSSL 表示没有证书与私钥匹配。只需在创建 PKCS#12 之前将其更改为 PEM 编码。

  1. 创建密钥对openssl genrsa -out aps_development.key 2048

  2. 创建企业社会责任openssl req -new -sha256 -key aps_development.key -out aps_development.csr

  3. 将 CSR 上传到开发者门户以获取证书aps_development.cer

  4. 转换证书openssl x509 -inform DER -outform PEM -in aps_development.cer -out aps_development.pem

  5. 构建 PKCS#12openssl pkcs12 -inkey aps_development.key -in aps_development.pem -export -out aps_development.p12

于 2017-05-06T06:58:09.270 回答
11

我也有完全相同的问题。下面的两个命令就像一个魅力。

cat domain.crt intermediate.crt ca.crt > bundle.crt 

openssl pkcs12 -export -out cert.pfx -inkey key -in bundle.crt
于 2020-11-03T11:55:07.643 回答
3

在我的例子中,我实际上指定了错误的证书——即证书用于一个系统,而私钥用于另一个系统。所以错误信息是正确的!

于 2020-07-08T02:06:23.157 回答