2014-01-07 140 views
5

私钥我需要cert.pem和key.pem的API(在我的节点JS后端),但我刚刚从应用ID下载.cert文件 - >编辑 - >下载。我怎样才能得到它,我可以从.cer文件中提取它?证书和推送通知

+0

为什么不阅读推送通知编程指南? – Desdenova

+1

@Desdenova我读过它,但有些概念对于linux用户来说是不可理解的。我应该运行一些特定于mac的应用程序,M.S.B帮助我。谢谢 –

回答

12

生成推送证书 要生成一个Mac OS X的证书:

  1. 登录-到iPhone开发人员计划门户

  2. 从右边

    菜单中选择应用ID
  3. 没有通配符创建应用程序ID。例如3L223ZX9Y3.com.armiento.test

  4. 单击此应用程序ID旁边的配置链接,然后单击该按钮以启动向导以生成新的开发推送SSL证书(Apple文档:创建SSL证书和键)

  5. 下载该证书并双击aps_developer_identity.cer将其导入到你的钥匙串

  6. 启动钥匙扣助理(位于应用程序,实用程序或带有Spotlight搜索),并点击我的证书上左

  7. 展开苹果开发推送服务,并选择苹果开发推送服务和你的私有密钥(略低于苹果开发推送服务)

  8. 单击鼠标右键,选择“导出2元......”并保存为server_certificates_bundle_sandbox.p12 (不要输入密码)。

  9. 打开终端,将目录更改用于保存server_certificates_bundle_sandbox.p12和PKCS12证书束转换为使用此命令PEM格式(当被问及对进口密码并按回车键)位置:

    openssl pkcs12 -in server_certificates_bundle_sandbox.p12 -out server_certificates_bundle_sandbox.pem -nodes -clcerts

  10. 现在你可以在ApnsPHP中使用这个PEM文件作为你的证书!

+0

这些证书和私钥是否需要验证。如http://docs.aws.amazon.com/sns/latest/dg/mobile-push-apns.html第4步所述。如果是的话,你能告诉我该怎么做。 –

+0

@MohammedAhmed它不是强制性的。 –

+0

注意:openssl命令语法在Linux上工作,但不是在MacOS上---我不得不将pk2文件移动到一个linux框以将它们转换为pem。 –

4

从复制: http://www.pressmatrix.de/product-blog/apple-ios-push-notification-setup-guide/

  1. 启动钥匙串访问工具,并在左侧面板中选择我的证书。
  2. 找到要安装并揭示其内容的证书。里面应该有一个证书和一个私钥。
  3. 选择证书和私钥,然后单击文件和出口项目。选择个人信息交换(.p12)作为输出文件格式。
  4. 移动CSR文件,.p12文件和文件xxx.cer到相同的文件夹和终端窗口内导航到该位置。

    openssl x509 -in xxx.cer -inform der -out cert.pem

  5. 转换私钥xxx.p12key.pem文件:

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

或者

  • 使用下面的命令来转换xxx.cer文件转换成cert.pem文件参考: https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/ProvisioningDevelopment.html#//apple_ref/doc/uid/TP40008194-CH104-SW5