[转载]苹果推送证书申请

来源:互联网 发布:java语言api帮助文档 编辑:程序博客网 时间:2024/05/17 07:41

转载自:http://blog.sina.com.cn/s/blog_6afb7d800101fa29.html

最近要做需要苹果推送通知的项目,就研究了一下推送证书的使用,大略步骤如下:


1.授权文件.certSigningRequest的生成(后面生成证书时需要。)
iOS:苹果推送(一)----开发者证书(推送证书)的生成

iOS:苹果推送(一)----开发者证书(推送证书)的生成

填完信息后 会在选择的位置生成文件:CertificateSigningRequest.certSigningRequest


2.证书的生成。(登陆:https://developer.apple.com/account/overview.action)

  • 创建一个允许发送通知的App ID ,允许通知的的App ID 只能选择Explicit App ID(通知必须要单一的id)。
        iOS:苹果推送(一)----开发者证书(推送证书)的生成


         iOS:苹果推送(一)----开发者证书(推送证书)的生成



  • 分别创建Development Certificate和Production Certificate ,都要选择Apple Push Notification service SSL 功能选项。

        iOS:苹果推送(一)----开发者证书(推送证书)的生成


        选择第一步时创建的App ID.
  iOS:苹果推送(一)----开发者证书(推送证书)的生成
       创建完毕,下载Certificate并安装。

       此时查看第一步创建的App ID的详情,Push Notification Dev和Dis均为绿色可用:
iOS:苹果推送(一)----开发者证书(推送证书)的生成

  • 接下来按照常规步骤创建对应的Development Provisioning Profile(一个新的不含 notification的Development Certificate)和 Distribution Provisioning Profile(一个新的不含notification的Distribution Certificate),创建时 都要选择第一步创建的包含通知功能的App ID,并下载安装。
至此证书生成完毕。

(iOS证书分2种,1种是开发证书,用来给你(开发人员)做真机测试的;1种是发布证书,发布证书又分发布到app store的和发布测试的ad hoc证书。

所以要测试发布环境的推送 需要用ac hoc证书测试,在创建证书的时候,需要再见一个ad hoc的证书。)

PEM文件生成

pem文件是服务器向苹果服务器做推送时候需要的文件,主要是做服务器的小伙伴们要用,下面介绍一下pem文件的生成。

  • 打开Keychain Access,在Certificates里面找到上篇文章中介绍的包含推送的证书。分别将certificate和private key导出得到.p12文件。例如:Apple Development Push Services > Export “Apple Development Push Services ID123”,保存为 apns-dev-cert.p12。对“Private Key”做同样操作,保存为 apns-dev-key.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
    此处要求输入一个密码,输入123456.
  • 移除密码(上面的123456)
    openssl rsa -in apns-dev-key.pem -out apns-dev-key.pem
  • 最后,你需要将键和许可文件合成为apns-dev.pem文件,此文件在连接到APNS时需要使用:
    cat apns-dev-cert.pem apns-dev-key.pem > apns-dev.pem

同样 Distribution Certificate 的pem文件生成方式一样。
openssl pkcs12 -clcerts -nokeys -out apns-dis-cert.pem -in apns-dis-cert.p12
openssl pkcs12 -nocerts -out apns-dis-key.pem -in apns-dis-key.p12
openssl rsa -in apns-dis-key.pem -out apns-dis-key.pem
cat apns-dis-cert.pem apns-dis-key.pem > apns-dis.pem

0 0
原创粉丝点击