我有一个IPhone应用程序,我正在实现推送通知。为此我创建了一个csrfile,p12文件和生产cer.Enabled推送通知,用于app app.And配置文件已下载。当我在设备上运行时我也收到了注册通知。但是当我从证书和pm键的pem文件中合并了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文件吗?
答案 0 :(得分:35)
获取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时使用的apns-dev.pem文件中:
cat apns-dev-cert.pem apns-dev-key-noenc.pem > apns-dev.pem
这是获取pem文件的方法,有关详细信息,请参阅my blog
答案 1 :(得分: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
答案 2 :(得分:1)
要创建.pem文件,您需要按照以下简单步骤操作。
你走了。
第1步:登录您的开发者帐户转到配置门户,点击"证书"。然后,点击' +'按钮。
第2步:在“分配”部分下选择Apple推送通知服务SSL(生产)选项,然后点击"继续"。
第3步:选择要用于BYO应用的应用ID(如何创建应用ID),然后点击"继续"进入下一步。
第4步:按照步骤"关于创建证书签名请求(CSR)"用于创建证书签名请求。
第5步:上传" .CSR"在步骤4中生成的文件,然后单击"生成"。
第6步:点击"完成"要完成注册,iOS Provisioning Portal页面将更改UI。
第7步:现在转到" Keychain",查找刚刚安装的证书。如果不确定哪个证书是正确的,它应该以" Apple Production IOS推送服务开始:"然后是您应用的捆绑包ID。
步骤8 :展开证书,您应该会看到包含您的姓名或公司名称的私钥。使用"选择"选择两个项目。键盘上的键,右键单击(如果使用单键鼠标,则单击cmd键),选择"导出2项"。 然后使用名称" yourselectedname.p12"保存p12文件。到您的桌面 - 现在您将被提示输入密码以保护它,您可以单击Enter跳过密码或输入您想要的密码。
第9步:现在打开"终端"在Mac上,运行以下命令:
CD
cd桌面
openssl pkcs12 -in pushcert.p12 -out pushcert.pem -nodes -clcerts
**完成您已成功创建Apple推送通知证书(.pem文件)!**