您的位置:首页 > 移动开发 > IOS开发

IOS 推送证书生成指南

2014-12-08 11:25 197 查看
IOS推送需要使用一个PEM的证书,该证书需要与开发时签名用的一致(注意测试版和发布版的区别)。

具体生成pem证书方法如下(注意,这些操作只能在x os下操作,请确保您在mac上操作这些步骤):

1.登录到iPhone Developer Connection Portal并点击 App IDs

2.选择对应App ID。(测试与发布使用不同的证书,请务必注意;另外无论是Development Push SSLCertificate还是Production Push SSL Certificate 都有过期时间的。Development Push SSL Certificate有效期大概四个月左右,而ProductionPush SSL Certificate的有效期是一年。需要注意在过期之前生成新的证书,以免影响使用。)

3.点击App ID旁的“Configure”,然后按下按钮生产 推送通知许可证。根据“向导”的步骤生成一个签名并上传,最后下载生成的许可证。

4.通过双击第3步下载到的.cer文件将你的 aps_developer_identity.cer 引入Keychain中。

5.单击“Apple Development Push Services”,导出p12文件,保存为 apns-dev-cert.p12 文件。注意导出时不要设置密码。

6.扩展“Apple Development Push Services” 对“Private Key”做同样操作,保存为 apns-dev-key.p12 文件。注意导出时不要设置密码。

7.需要通过终端命令将这些文件转换为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

在转换pem文件时对于私钥(Private Key)会强制要求一个PEM密码,在下面的步骤需要去掉此密码。

8.您在第7步转换pem时系统会要求PEM密码,需要移除此密码,执行:

openssl rsa -in apns-dev-key.pem -out apns-dev-key-noenc.pem
9.最后,你需要将私钥和许可文件合成为apns-dev.pem文件,此文件即为需要上传用于连接APNS时的证书文件:

cat apns-dev-cert.pem apns-dev-key-noenc.pem > apns-dev.pem
10.简单验证测试证书是否正确,(如果验证发布证书则需要把gateway.sandbox.push.apple.com换成gateway.push.apple.com):

openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert apns-dev-cert.pem -key apns-dev-key-noenc.pem
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  推送 远程推送 证书