ios 消息推送证书设置和整理(备忘)
大部分内容摘抄至 友盟消息推送的FAQ ,整理该文档,方便自己记忆和备忘
1. 文档简介
说明:
使用消息推送功能前,需要严格按照此文档配置相关证书。否则将会影响消息推送组件的正常使用。
本文档包括:
2. 创建APP ID
登录Apple Member Center :[图片上传失败...(image-5dbf73-1515141085622)],选择certificates,identifiers&profiles 选项,如下图所示:


选择identity中的APP IDs,如下图所示:
创建id
注意:创建Explicit App ID时,要注意此时设置的Bundle ID要与APP以后的Bundle ID一致,如下图所示:

选择Push Notification 来开通Push功能,如下图所示:

点击下方的register 按钮,几秒钟之后下方会变成一个Done ,表示APP ID已经创建完成,如下图所示:



注意:
创建的APP ID要与自己项目的Bundle ID保持一致。如果已经有APP ID,请确保自己的APP ID已经开通了Push功能,如果没有开通,可以点击APP ID,在其底部有一个Edit按钮,点击后选中Push服务并创建,如下图所示:

至此,APP ID创建完毕。
3. 创建CSR文件
如果你已经有CSR文件,请继续进行下一步的设置。
CSR是Cerificate Signing Request的英文缩写,即证书请求文件。证书申请者在申请数字证书时由CSP(加密服务提供者)在生成私钥的同时也生成证书请求文件。证书申请者只要把CSR文件提交给证书颁发机构后,证书颁发机构使用其根证书私钥签名就生成了证书公钥文件,也就是颁发给用户的证书。
在电脑中找到钥匙串----->钥匙串访问------>证书管理------>从证书颁发机构请求证书,如下图所示:


设置完证书信息后,点击“继续”,然后选择存储位置,点击存储,至此,CSR文件创建成功。
4. 创建开发调试证书
如果你已经有开发调试证书,请继续进行下一步的设置。
选择Development(如果是发布上线,需要选择Distribution),如下图所示:

之后,你将看到如下四个证书。这一步,我们选择iOS App Development证书,如下图所示:




在choose file...中选择本地的CertificateSigningRequest(CSR)文件,然后点击继续,如下图所示:


点击Download,将证书下载到本地,双击下载的开发调试证书(文件名为:iOS_development.cer),就可以在钥匙串访问中的我的证书中找到。
至此,开发调试证书设置完毕。
5. 添加测试设备
测试推送需要添加测试设备,添加方法如下所示:




6. 创建Provisioning Profiles文件
选择Development,创建开发环境的Provisioning Profiles(如果是发布上线,需要选择Distribution),如下图所示:


创建新的Provisioning Profiles,并选择之前生成好的App ID。如下图所示:


选中创建的证书:

选中测试设备:


把创建的Provisioning Profiles,调试证书,推送证书下载下来(文件名:umengpushtestdemo.mobileprovision)以后双击证书。

7. 创建推送证书
选择Apple Push Notification service SSL(Sandbox)

注意:推送证书分为开发环境和生产环境,如果需要生成生产环境的推送证书请选择: Apple Push Notification service SSL (Sandbox&Production),如下图所示:

选中APP ID后,点击continue,直到上传CRS文件,如下图所示:




点击Download,将证书下载到本地后,双击下载的开发环境推送证书(文件名为:aps_development.cer),就可以在钥匙串访问中的我的证书中找到。
8. 导出推送证书的P12文件
注意:在钥匙串访问(KeyChain)的我的证书中选择刚刚导入的证书,选择导出,注意不要选中私钥,并设置相应密码即可。



注意:此步骤所设置的密码将在之后在U-Push后台上传推送证书时所使用,且密码只能包含大小写(a-z,A-Z ),数字(0-9),特殊字符(.-_),其他元素将会被过滤。

生产环境的推送证书也是以同样的方式导出。
至此,P12证书导出完毕。