BLOG
Enjoy when you can, and endure when you must.
JAN 08, 2014/心得与分享
APNS证书生成中值得注意的地方

最近在做iPhone的推送了,生成APNS证书则是进行该任务的第一步(哈…好像我昨天也折腾的证书),在操作过程中有一些值得记录的地方在此做个记录。

创建App ID

这个是使用APNS必须的标识。创建过程其实也挺简单的,不过值得注意的是创建的App ID要是Explicit类型,Wildcard IDs不能用消息推送服务。

生成Certificate Request和Apple Push Notification service SSL Certificate

这一步骤在Mac OS X上的“钥匙串访问”这一程序中进行,通过Keychain Access -> Certificate Assistant -> Request a Certificate From a Certificate Authority生成并选择保存在磁盘上。

之后则是在开发者网站中的App ID配置页中对消息推送进行配置,当然就是通过上传生成好的Certificate Request然后生成对应的证书。

生成证书

将证书下载下来然后导入到“钥匙串访问”中,然后在Keychains一栏选择“login”,并从Category一栏中筛选Certificates,可以看到证书。将其导出为p12格式。

使用证书

在实际使用时,我们可能需要将该文件转换成pem格式:

openssl pkcs12 -clcerts -nokeys -out cert.pem -in apns.p12
openssl pkcs12 -nocerts -out key.pem -in apns.p12

如果要移除密码,可以在导出/转换时不设定密码或者执行以下代码:

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

最后将密钥和证书进行合并操作:

cat cert.pem key-noencript.pem > apns.pem

另外还需要注意的是,对于开发测试,推送使用的是sandbox,其链接为:

gateway.sandbox.push.apple.com:2195

对于发布版本的应用程序,推送则使用:

gateway.push.apple.com:2195

参考资料:

How to create APNS certificates

APNS 苹果推送证书生成步骤及发布后注意问题

COMMENTS
LEAVE COMMNT