59

我正在为客户做一个项目。我有两个 .cer 文件(开发人员和发行版)都加载到 Mac OS X 上的 Keystore Access 中。但是我无法导出为 .p12 文件。

用户界面

或者,我尝试了 OpenSSL,但仍然没有运气......

openssl pkcs12 -export -in followMe_ios_development.cer -out followMe_ios_development.p12 -clcerts -nokeys

如何将此 .cer 文件导出为 .p12 以便为 iOS 编译此应用程序?

4

6 回答 6

80

对我处理推送通知证明有效的是:

  1. 打开证书:open my_filename.cer点击“查看证书”查看证书名称
  2. 转到应用程序 -> 实用程序 -> 钥匙串访问
  3. 确保您选择了“登录”钥匙串,而不是“系统”钥匙串(感谢@Matt Flettcher
  4. 转到“证书”
  5. 寻找所需的证书
  6. 确保您可以展开它并在其下方看到用于生成证书的原始“.certSigningRequest”
  7. 此时您应该可以将其导出为“.p12”
于 2017-06-22T10:25:42.510 回答
73

试试这个:假设你有如下文件:

aps.cer,从 Apple 下载。

app.key,你自己的由 openssl 生成的私钥。

1、将.cer文件转换成.pem格式:

openssl x509 -in aps.cer -inform DER -out aps.pem -outform PEM

2、使用 .pem 文件和你的私有 .key 生成 .p12 文件:

openssl pkcs12 -export -out aps.p12 -inkey app.key -in aps.pem

这应该提示询问此 .p12 文件的密码。

CF:

aps_developer_identity.cer 到 p12 无需从 Key Chain 导出?

创建 .p12 文件

于 2017-02-13T03:36:16.030 回答
13

我有同样的问题。.p12 导出不可用,只有 .p7b

我很容易解决它:

您不是通过左下角的“证书”目录选择您的证书,而是通过“我的证书”目录。

像这样,一个箭头应该出现在您的证书左侧。单击它,您将看到您的私钥。

右键单击您的私钥并选择“导出密钥”选项。现在您可以按照医生的要求创建一个 .p12 证书文件。

祝你好运!

于 2020-03-15T19:38:16.750 回答
2

您应该同时选择证书和私钥。然后您将能够导出带有 p12 扩展名的证书。

于 2020-06-16T14:29:39.380 回答
0

就我而言,我正在尝试创建一个 pfx/PKCS12 文件并尝试了给定的命令并遇到了几个问题,其中一个是:即使我做得对,也无法加载证书。因此,然后尝试使用以下一个命令而不是其他几个命令:

openssl pkcs12 -export -out requiredPFXfile.pfx -inkey yourPrivateKey.key -in yourcertificate.cer

请查找链接以获取更多详细信息:- https://www.ssl.com/how-to/create-a-pfx-p12-certificate-file-using-openssl/

我是 SSL 和证书的新手,无法判断其他答案,感谢大家在这里的工作!

于 2018-05-23T21:59:43.603 回答
0

在我的情况下,以p12格式导出的能力取决于证书类型。对于“Apple Distribution”证书类型,它被禁用,就像您的情况一样。

当我创建类型为“IOS Distribution(App Store and Ad Hoc)”的新证书并像以前一样正确处理它时,p12格式在导出对话框中可用。

于 2021-03-04T18:02:11.417 回答