iOS Push Notification Pem生成

  1. 在KeyChain里 导出 Apple Push notification Services 的 certificate, 命名为Push_Notification_Certificates.cer

  2. 在KeyChain里 导出 Apple Push notification Services 的 private key, 命名为Push_Notification_Key.p12, 这个过程中 ,需要你输入一个后面导入时的密码, 最后输入一下你的mac的密码,就可以生成这个文件。

  3. 文件准备好了,开始执行openssl 命令,

    1
    openssl x509 -in Push_Notification_Certificates.cer -inform der -out Push_Notification_Cer.pem

    通过这个命令可以生成Push_Notification_Cer.pem文件

  4. 执行下面的命令

    1
    openssl pkcs12 -nocerts -out Push_Notification_Key.pem -in Push_Notification_Key.p12

    通过这个命令可以生成 Push_Notification_Key.pem文件

  5. 执行命令

    1
    cat Push_Notification_Cer.pem Push_Notification_Key.pem > ck.pem

    生成ck.pem文件

  6. 测试sandbox环境, 执行

    1
    openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert Push_Notification_Cer.pem -key Push_Notification_Key.pem
  7. 测试Production环境, 执行

    1
    openssl s_client -connect gateway.push.apple.com:2195 -cert Push_Notification_Cer.pem -key Push_Notification_Key.pem

切记发布需要注意的地方,服务器要修改的内容

  • pem文件名

  • 生成pem文件的密码

  • 使用 Production 的地址 (gateway.push.apple.com)


参考链接

http://www.raywenderlich.com/3443/apple-push-notification-services-tutorial-part-12

http://blog.boxedice.com/2009/07/10/how-to-build-an-apple-push-notification-provider-server-tutorial/

http://mobiforge.com/developing/story/programming-apple-push-notification-services