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

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

第一步

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


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

第二步

  • 在App ID Description栏输入自己的对该ID的描述信息.相当于取个名字而已.
  • App ID Prefix选择你开发者账号对应的TeamID选项值.
  • App ID Suffix可以是明确指定的AppID值也可以是通配符的值,一般如果用于某一个App的话,我们设置为确定值的一个ID,在Bundle ID那一栏输入一个反域名格式的字符串作为我们的App ID的一部分. 这个地方应该和Xcode项目中的BundleID设置值一致.
  • App Services 这里勾选你的App所需要的一些功能(按需勾选).


    设置App ID的详细配置信息

第三步

设置完后继续,进入到确认界面, 确认无误后点击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系统上的钥匙串访问程序,在菜单中,找到证书助理-->从证书颁发机构请求证书....

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

第十步

  • 先填写证书签名请求的信息,邮件地址填写自己的邮件地址,如果可以,强烈建议写你的开发者账号对应的邮件地址,常用名称可以写你对应AppID应用的名字以用来做区别.
  • 我们需要把该签名请求信息保存到文件,故勾选请求类型是存储到磁盘.
填写邮件地址和常用名称

第十一步

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

设置文件名和保存位置

第十二步

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


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

第十三步

  • 这时候,切换回到之前打开开发者后台的浏览器页面,在第八步的位置点击继续,将会进到此页面.
  • 打开并选择刚刚那个文件.


    选择证书签名请求文件

第十四步

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


正式上传

第十五步

  • 上传完成之后,苹果开发者后台服务器就会为我们签名并创建一个用于远程推送的证书文件.
  • 我们只需要点击下载按钮就可以把证书文件(这里是开发版)下载回来.


    下载生成成功的推送证书文件

第十六步

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

  • 我们查看证书名是aps_development.cer,从文件名可以看出这个开发版的推送证书.
  • 如果是生成版的推送证书的话,文件名是aps_production.cer.
    看看开发版的推送证书文件

第十七步

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


双击证书文件进行添加

第十八步

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


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

第十九步

选择该证书,右键,选择 导出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

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

  • production(生产版)
$ openssl s_client -connect gateway.push.apple.com:2195 -cert cert.pem -key key.pem 
  • sandbox(开发版)
$ openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert cert.pem -key key.pem 
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,736评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,167评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,442评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,902评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,302评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,573评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,847评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,562评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,260评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,531评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,021评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,367评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,016评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,068评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,827评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,610评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,514评论 2 269

推荐阅读更多精彩内容