为推送通知创建.pem 文件?

Posted

技术标签:

【中文标题】为推送通知创建.pem 文件?【英文标题】:Creating.pem file for push notification? 【发布时间】:2012-07-18 07:46:34 【问题描述】:

我有一个 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文件?

【问题讨论】:

这里:***.com/a/1762824/624091,试试这个。 【参考方案1】:

得到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文件的方法,更多详情请参考my blog

【讨论】:

完美,也帮助了我。谢谢 我必须使用openssl pkcs12 -nocerts -in apple_push_dev.p12 -nodes -out y.pem 才能将密钥以未加密的形式推出(OpenSSL 1.0.1f)【参考方案2】:

试试下面这些命令:

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

【讨论】:

【参考方案3】:

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

给你。

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

第 2 步:在 Distribution 部分选择 Apple Push Notification service SSL (Production) 选项,然后点击“Continue”。

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

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

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

第6步:点击“完成”完成注册,ios Provisioning Portal Page将会改变UI。

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

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

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

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

【讨论】:

以上是关于为推送通知创建.pem 文件?的主要内容,如果未能解决你的问题,请参考以下文章

更新 ios 推送通知的 SSL 证书时是不是需要重新创建 CK.pem?

使用 PEM 文件在 PHP 中推送通知

如何检索推送通知php的ck.pem文件

我们应该在服务器上使用哪个文件来推送通知,.pem 还是 .p12?

服务器端 Apple 推送通知

生成新证书后推送通知不起作用