11

我有一个 iPhone 应用程序,我在其中实现推送通知。为此,我创建了一个 csrfile、p12 文件和生产 cer。为应用程序 id 启用了推送通知。并下载了配置文件。当我在设备上运行时,我得到了注册通知也来了。但是当我将证书中的 pem 文件和 p12 密钥中的 pem 文件结合起来,并生成另一个 pem 文件并放入我的服务器时。推送通知没有进入我的手机。我在终端来创建文件。`

openssl x509 -in aps_production.cer -inform der -out phoneapp.pem 

openssl pkcs12 -nocerts -out phoneappKey.pem -in veapp.p12

cat phoneapp.pem phoneappKey.pem > applicationwebservice.pem

`谁能帮我正确获取pem文件?

4

3 回答 3

37

得到 p12 文件后,需要在终端执行以下命令,将其转换为 PEM 格式:

openssl pkcs12 -clcerts -nokeys -out apns-dev-cert.pem -in apns-dev-cert.p12
openssl pkcs12 -nocerts -out apns-dev-key.pem -in apns-dev-key.p12

如果您希望删除密码,请在导出/转换时不要设置密码或执行:

openssl rsa -in apns-dev-key.pem -out apns-dev-key-noenc.pem

最后,您需要将密钥和证书文件组合成一个 apns-dev.pem 文件,我们将在连接到 APNS 时使用:

cat apns-dev-cert.pem apns-dev-key-noenc.pem > apns-dev.pem

这是获取pem文件的方法,更多细节参考我的博客

于 2012-07-18T15:07:18.360 回答
11

尝试使用以下命令:

openssl pkcs12 -clcerts -nokeys -out cert.pem -in cert.p12

openssl pkcs12 -nocerts -out key.pem -in key.p12

openssl rsa -in key.pem -out key.unencrypted.pem

cat cert.pem key.unencrypted.pem > ck.pem
于 2012-07-18T09:08:07.033 回答
2

要创建 .pem 文件,您需要遵循以下简单步骤。

干得好。

第 1 步:登录到您的开发人员帐户,进入 Provisioning Portal,单击“证书”。然后,单击“+”按钮。

第 2 步:选择分发部分下的 Apple Push Notification service SSL (Production) 选项,然后单击“继续”。

第 3 步:选择要用于 BYO 应用程序的应用程序 ID(如何创建应用程序 ID),然后单击“继续”进入下一步。

第 4 步:按照“关于创建证书签名请求 (CSR)”的步骤创建证书签名请求。

第五步:上传第四步生成的“.CSR”文件,然后点击“生成”。

Step 6 : 点击“Done”完成注册,iOS Provisioning Portal Page 将会改变 UI。

第 7 步:现在转到“钥匙串”,查找刚刚安装的证书。如果不确定哪个证书是正确的,它应该以“Apple Production IOS Push Services:”开头,然后是您的应用程序的捆绑 ID。

第 8 步:展开证书,您应该会看到带有您的姓名或公司名称的私钥。使用键盘上的“选择”键选择这两个项目,右键单击(如果使用单键鼠标,则单击 cmd),选择“导出 2 个项目”。然后将名为“yourselectedname.p12”的 p12 文件保存到您的桌面 - 现在您将被提示输入密码以保护它,您可以单击 Enter 跳过密码或输入您想要的密码。

第 9 步:现在在 Mac 上打开“终端”,然后运行以下命令:
cd
cd Desktop
openssl pkcs12 -in pushcert.p12 -out pushcert.pem -nodes -clcerts

** 完成,您已成功创建 Apple 推送通知证书(.pem 文件)!**

于 2016-08-08T09:33:25.913 回答