iOS通知推送-生成证书

一.前提准备:

1.从Apple下载对应的证书(* . cer),包括Developement用于测试,Distribution用于发布。

2.从本地Mac电脑生成p12密钥文件(* . p12)

二.生成证书:

1.其中aps_development.cer 为Apple下载的对应证书,cert.pem为新生成的文件。

openssl x509 -in aps_development.cer-inform DER -outcert.pem-outform PEM

2.其中aps_development.p12 为本地Mac电脑导出密钥文件,key.pem为新生成的文件,生成key.pem时,需要用户手动输入密钥(也就是导出 * . p12文件时,输入的密钥)。

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

3.需要cert.pemkey.pem 文件合成一个 pem文件供服务器端使用,即下边的ck.pem文件。

cat cert.pem key.pem >ck.pem

这个ck.pem就是最后我们后台服务器程序向苹果APNS服务器发推送通知请求时,使用的推送证书,其他文件(cert.pem, key.pem)建议也不要立即删除,可以用于测试证书是否生成成功。

注意:

1.关于iOS推送方面的测试必须使用真机。

2.测试环境是通过苹果沙箱服务器,而正式发布则利用APNS服务器,具体区别如下。

       a.服务器端(我们自己写的服务器端程序,如PHP,Java等,不是苹果的APNS服务器)向苹果APNS服务请求的地址不同。

         测试环境:ssl://gateway.sandbox.push.apple.com:2195

         正式环境:ssl://gateway.push.apple.com:2195

       b.服务器端(我们自己写的服务器端程序,如PHP,Java等,不是苹果的APNS服务器)使用的推送证书不同(就是上边最终生成的ck.pem文件),即测试环境使用从苹果下载的Developement版cer文件;而正式版使用通过Distribution下载的cer文件。

三.测试APNS通信与证书是否生成成功

1.测试APNS通信:打开Mac操作系统中的“终端”,输入以下命令判断是否通信成功。

telnet gateway.sandbox.push.apple.com 2195

成功时提示:

Trying 17.172.233.65...
Connected to gateway.sandbox.push-apple.com.akadns.net.
Escape character is '^]'.

2.测试证书是否生成成功:打开Mac操作系统中的“终端”,进入pem证书目录下,输入如下命令判断是否生成成功,其中cert.pemkey.pem为上边内容中生成的,输入命令后需要输入p12密钥的密码。

openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert cert.pem -key key.pem
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值