1.把生成的推送证书从开发者网站下载下来,双击刚才下载的证书,会自动把此证书加入到钥匙串的签名中,如下图标示,红色圈中的,既是我刚才添加的证书,展开此证书
先右键点击 Apple Production IOS PushServices:com.***.***,先导出一个.p12文件。命名为cert.p12。在导出的过程中会让输入导出密码,输入相应的密码即可。
2.在2012.04.27_push_producation_***上点击右键,导出一个.p12的文件,命名为key.p12,与上边相同在导出的过程中会让输入导出密码,输入相应的密码即可。
3.到此为止,我们已经有了两个.p12文件,把他们放到同一个文件夹(aaa)下,需要把两个.p12文件转换成.pem文件。(我已在桌面创建文件夹aaa)
4.先打开终端,切换到文件夹aaa,指令如下图
5.在执行的时候,将会让输入密码,输入刚才设置的密码即可生成一个cert.pem文件。
openssl pkcs12 -clcerts -nokeys -out cert.pem -in cert.p12
openssl pkcs12 -nocerts -out key.pem -in key.p12
openssl rsa -in key.pem -out key.unencrypted.pem
cat cert.pem key.unencrypted.pem > ck.pem ///不加密执行指令 cat cert.pem key.pem > ck.pem ///<span style="font-family: Arial;">加密执行指令</span>
9.此时,即生成了ck.pem文件。
10.给服务器端的人员时需要注意:
a.把生成的ck.pem文件给服务器端的人员;
b.同时还要向服务端人员提供推送网址如下展示:
ssl://gateway.sandbox.push.apple.com:2195这个是沙盒测试地址
ssl://gateway.push.apple.com:2195正式发布地址
如果不能确定提供哪个网址,推荐使用推送测试工具Easy APNs Provider,此工具在Apple Store商店中下载
11.注意:向服务端人员提供证书和网址是一定要提供对应的证书和网址,否则则推送不成功。一般对应逻辑如下:
Product证书--->Product推送证书--->Product证书打包的程序对应的devicetoken--->Product推送网址
Development证书--->Development推送证书--->Development证书调试的程序对应的devicetoken--->Development推送网址