推送通知的证书和私钥

时间:2014-01-07 07:10:02

标签: ios push-notification certificate

我需要cert.pem和key.pem用于API(在我的节点js后端)但我只是从App ID下载.cert文件 - >编辑 - >下载。我怎样才能得到它,我可以从.cer文件中提取它?

2 个答案:

答案 0 :(得分:14)

生成推送证书 要在Mac OS X上生成证书:

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

  2. 从右侧菜单中选择应用ID

  3. 创建不带通配符的应用程序ID。例如3L223ZX9Y3.com.armiento.test

  4. 单击此App ID旁边的Configure链接,然后单击按钮以启动向导以生成新的Development Push SSL证书(Apple文档:创建SSL证书和密钥)

  5. 下载此证书并双击aps_developer_identity.cer将其导入您的钥匙串

  6. 启动Keychain Assistant(位于Application,Utilities或使用Spotlight搜索它)并单击左侧的My Certificates

  7. 展开Apple Development Push Services并选择Apple Development Push Services和您的私钥(仅限于Apple Development Push Services)

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

  9. 打开终端并将目录更改为用于保存server_certificates_bundle_sandbox.p12的位置,并使用此命令将PKCS12证书包转换为PEM格式(请求输入密码时按Enter键):

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

  10. 现在您可以在ApnsPHP中将此PEM文件用作证书!

答案 1 :(得分:5)

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

  1. 启动Keychain Access工具,然后在左侧面板中选择我的证书。
  2. 找到您要安装的证书并显示其内容。里面应该有证书和私钥。
  3. 同时选择证书和私钥,然后单击“文件和导出项”。选择个人信息交换(.p12)作为输出文件格式。
  4. 将CSR文件.p12文件和xxx.cer文件移动到同一文件夹中,然后导航到终端窗口中的该位置。
  5. 使用以下命令将xxx.cer文件转换为cert.pem文件:

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

  6. 将私钥xxx.p12转换为key.pem文件:

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

  7. 或参考: https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/ProvisioningDevelopment.html#//apple_ref/doc/uid/TP40008194-CH104-SW5