码农的日常之iOS开发ios 程序猿Family技巧

从零开始创建iOS远程推送证书

2016-04-08  本文已影响4392人  戴维营教育

从零开始手把手教你创建AppID和对应的远程推送证书.

第一步

登录Apple Developer后台,左侧选择AppIDs,开始新建AppID.


点击右上方的➕号图标新建AppID

第二步

第三步

设置完后继续,进入到确认界面, 确认无误后点击Register进行注册.

App ID的信息以及所需服务的确认

第四步

上一步确认无误注册成功之后的信息一览表:


App ID注册新建成功,信息一览无余.

第五步

App注册新建成功后,我们就可以在App IDs列表中查看到.
如图,刚刚注册的App ID的name是TeachDemo,ID是com.diveinedu.teachdemo

App ID列表中找到刚刚注册的App ID

第六步

双击App ID的name可以展开查看该AppID的详细信息,点击Edit还可以再次编辑.

在AppID列表中展开某个AppID的具体信息

第七步

上一步点击Edit进入再次编辑界面,可以对该AppID进行详细的服务功能设置.找到Push Notification并阅读理解关于推送消息的资料.
选择对应需要的证书进行创建.

根据需要,选择开发版或者生产版的推送证书进行创建

第八步

不管上面一步是选择开发版还是生产版的推送证书创建,都会到样一个界面,该界面详细告诉我们如何去自己电脑创建一个证书签名请求文件.


证书签名请求文件创建步骤指引

第九步

根据上一图中的步骤指引,打开OS X系统上的钥匙串访问程序,在菜单中,找到证书助理-->从证书颁发机构请求证书....

选择钥匙串访问菜单准备创建证书签名请求

第十步

填写邮件地址和常用名称

第十一步

信息填写配置完毕后,点击存储,就会弹出对话框让你输入保存的文件名和文件的保存位置.这个根据自己确定文件名和位置.只要在后面步骤能够记得位置,找的到该文件就OK.

设置文件名和保存位置

第十二步

点击存储,正式把文件存储到本地磁盘中.


证书签名请求文件保存成功

第十三步

第十四步

然后,点击继续,上传证书签名请求文件


正式上传

第十五步

第十六步

浏览器点击下载后一般下载保存在用户目录下的Download子目录下,可以把该文件移动到合适的其他目录下,

第十七步

双击下载回来的推送证书文件,一般会自动用钥匙串访问程序打开,并弹出添加证书到当前系统的界面.你直接点击添加就可以.(由于权限原因,点击添加后可能会询问你当前用户的密码)


双击证书文件进行添加

第十八步

添加到系统钥匙串中后,我们可以在列表中看到刚刚那个证书的信息,展开后我们还可以看到里面包含着一个专用密钥,该密钥就是用来和苹果推送服务器进行安全链接的.


找到刚刚加入系统钥匙串中的证书

第十九步

选择该证书,右键,选择 导出xxxxx, 准备从系统钥匙串中导出证书(内含私钥)到p12格式文件.


准备导出远程推送证书

第二十步

填写导出后的文件名以及存储位置,注意下面的文件格式务必为个人信息交换(.p12)格式.


把证书从钥匙串访问程序中导出为p12文件

第二十一步

确定存储进行导出后,系统为了安全起见,还可以对该p12文件设置一个密码进行保护,以后读取这个p12文件信息的时候都需要验证该密码.


设置p12文件的保护密码

第二十二步

设置p12文件保护密码后点击存储,就这样,导出成功结束.
到这里,导出的这个aps_development.p12文件就是我们所需要传到第三方推送服务商后台的推送证书文件.

成功导出了p12格式的远程推送证书文件

后记

此教程是为了戴维营教育iOS开发全栈课程内容中的Swift开发后台推送服务器做前提准备.

对应生成版的推送证书也是同样的步骤,唯一的不同就是在 第七步 选择创建生产版还是开发版的推送证书.

我们生成的开发版推送证书只能用开发测试过程中的真机测试推送业务.
如果App上架了,那么应该配置生产版的推送证书并上传至第三方推送服务商后台.

如果没有使用第三方推送服务商的免费服务.而是开发者自己或者公司团队自己开发的推送后台.那么我们可以根据情况处理一下我们下载的推送证书以及生成的p12格式的文件,转换为PEM格式的文件给自己的后台程序的OpenSSL的API进行使用.

我们下载的推送证书默认的名字一般就是
aps_production.cer或者aps_development.cer,
那么不管是开发版还是生产版,
这里我把要处理的证书文件名用cert.cer代替.
然后为其导出的p12文件名用key.p12代替.

可以用下面的openssl命令进行转换为pem格式:

$ openssl x509 -in cert.cer -inform DER -outform PEM -out cert.pem
$ openssl pkcs12 -in key.p12 -out key.pem -nodes

然后可以继续测试这些证书是否可以成功用来链接苹果的推送服务器.

$ openssl s_client -connect gateway.push.apple.com:2195 -cert cert.pem -key key.pem 
$ openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert cert.pem -key key.pem 
上一篇下一篇

猜你喜欢

热点阅读