用PHP实现IOS推送证书之给测试人员生成.pem证书文件

1.把生成的推送证书从开发者网站下载下来,双击刚才下载的证书,会自动把此证书加入到钥匙串的签名中,如下图标示,红色圈中的,既是我刚才添加的证书,展开此证书

用PHP实现IOS推送证书之给测试人员生成.pem证书文件_第1张图片


先右键点击 Apple Production IOS PushServices:com.***.***,先导出一个.p12文件。命名为cert.p12。在导出的过程中会让输入导出密码,输入相应的密码即可。

2.在2012.04.27_push_producation_***上点击右键,导出一个.p12的文件,命名为key.p12,与上边相同在导出的过程中会让输入导出密码,输入相应的密码即可。

用PHP实现IOS推送证书之给测试人员生成.pem证书文件_第2张图片

3.到此为止,我们已经有了两个.p12文件,把他们放到同一个文件夹(aaa)下,需要把两个.p12文件转换成.pem文件。(我已在桌面创建文件夹aaa)

4.先打开终端,切换到文件夹aaa,指令如下图

用PHP实现IOS推送证书之给测试人员生成.pem证书文件_第3张图片

5.在执行的时候,将会让输入密码,输入刚才设置的密码即可生成一个cert.pem文件。

openssl pkcs12 -clcerts -nokeys -out cert.pem -in cert.p12

6. 再执行如下指令,注意:此时要注意在终端中的提示,第一次输入的密码是生成证书时候的密码,第二次第三次输入密码是设置key.pem的新密码。

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

7.如果需要对 key不进行加密,执行下边语句

openssl rsa -in key.pem -out key.unencrypted.pem

8.然后就可以合并两个.pem文件,这个ck.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推送网址


你可能感兴趣的:(ios,PHP,文件,终端,.pem)