iOS开发之push证书制作流程

原创 2015年07月10日 15:55:36

push证书的制作流程一直没时间整理出一份详细的文档,今天乘着空闲时间将流程写一下,也算是让自己有个回顾。

废话不多说,咱们直接进入正题(本文中有些地方可能大家系统版本不一样,相应的选项位置可能有所不同,但选项的名称都是一样的,希望大家能注意到,我用的是OS X 10.11 beta版 ^_^)


一、从证书颁发机构请求证书

在制作证书之前,需要先从证书颁发机构获取.CSR格式证书,该证书只需生成一次,后续不需要再生成,直接拿来用。

打开钥匙串工具(Finder -> 应用程序 -> 实用工具 -> 钥匙串访问),打开后点击顶部菜单栏““钥匙串访问”出现如下界面,选择 证书助理  ->  从证书颁发机构请求证书 



并且在用户电子邮件地址常用名称处填上相应信息(这两栏不需要硬记,后续不需要使用到,只要能通过审核就行),再点击下方的存储到磁盘,然后点击界面下方的继续


将文件名修改成“push.certSigningRequest”,后缀不变




之后你就能在桌面上看到我们刚才生成的.CSR证书了。这样第一步就完成了。


二、创建物理文件夹

这一步纯(处)属(女)个(座)人(洁)爱(癖)好(啦),为了比较清晰直观的反应文件结构以便后续使用,我们先在桌面上创建一个文件夹,名字命名为10000710(假设我们以Bundle Id后缀为10000710的App制作push证书),物理文件夹结构如下,其中10000710证书文件夹中的测试和正式文件夹用于存放我们最终生成的push证书了。



而development文件夹中结构和production文件夹中结构一致,其中的out文件夹目前为空的



好了,那么我们的前期工作就完成了。接下来才是重点,废话不多说,我们继续吐舌头


三、.cer格式文件申请

接下来打开Safari浏览器(这里要注意下,我在Mac电脑上用Google浏览器申请证书会遇到界面刷新不出来的问题,不知道大家有没有遇到过,所以我个人建议大家用Mac自带的Safari浏览器微笑),输入开发者中心网址:https://developer.apple.com   打开后点击右上角的Member Center 进入开发者中心



再输入相应的开发者账号登录



点击Certificates, Identifiers & Profiles进入下一个界面后再点击左侧的Identifiers选项,进入到开发者中心。选择左侧Identifiers里的App IDs,再选择右边界面的右上角的加号,添加一个新的App ID,在Name和Bundle ID中输入相应内容



再滑动到底部,再底部的选项中勾选Push Notifications一栏并点击继续并提交



提交成功之后,然后再选择左侧Identifiers里的App IDs,进一步生成.cer证书,在对应的右侧找到刚才生成的App IDs并点击展开



点击下方编辑Edit之后滑到底部的Push Notifications一栏,选择第二个Production SSL Certificate里的创建证书选项并点击继续



选择刚才生成的.CSR格式证书上传



选择production文件中的.CSR证书,并点击Generate之后制作一个正式版的car证书,然后将它下载并且双击装入钥匙串(注,这里我省略了测试版的push证书制作过程,考虑到平常都是用正式地址测的push推送通知,又因为它与production正式版的制作过程基本一样,所以就不再重复说明了)。这样我们的.cer格式的证书就申请完成了。



三、push证书制作

终于到了最后一步了,大家看到我用了“终于”。。。好吧,我已经不耐烦了。废话不多说,咱们继续看。

经过第二步之后,我们打开钥匙串,会发现钥匙串中多了一项,好吧涂的有点乱安静



这就是我们刚才从开发者中心下载的.cer文件装入钥匙串中之后的结果。

接下来我们将它从钥匙串导出,右键并选择导出,并且命名为production,导出到刚才创建的物理文件夹中production



导出时需要设置密码,该密码与之后生成push证书有密切关系,所以一定要牢记,这边为了方便起见,就用了123456作为密码



再将第二步中下载的.cer文件放入production文件夹中,这时production文件夹中应该就包含了三个证书以及一个out空文件夹



好了,那么接下来我们开始动手生成push证书了得意


首先打开终端   Finder  ->  应用程序  ->  实用工具  ->  终端


进入到production文件夹所在目录中(在终端中键入cd production文件夹路径按回车即可)


输入以下命令并按回车键用来生成aps_production.pem文件:


openssl x509 -in aps_production.cer -inform DER -out out/aps_production.pem -outform PEM


这是你会发现,你的production文件夹中的out文件夹中多了一个aps_production.pem的文件。


接下来再在终端中输入以下命令并按回车用来生成production.pem文件:


openssl pkcs12 -nocerts -out out/production.pem -in production.p12


这时你会看到终端上面会出来一个提示,需要你输入密码,这个密码就是你刚才从钥匙串中导出文件是所设置的密码(所以刚才导出时的密码需要牢记,这里会用到,我这边目前是  123456),并且该密码以密文形式输入,看不到它是否输入,只有输入完毕后按回车才能看到结果,并且该密码需要输入三次,当出现以下提示时,说明生成文件成功(注:这里输入错误也会生成production.pem文件,如果输入错误需要先将out文件夹中的production.pem文件删除,然后在终端重新执行该命令才行,不然会影响最后的push证书的生成)。



最后再在终端中输入最后一个命令行,用于生成最终的正式版push证书。(其中xxx为Bundle ID的前缀)

sudo openssl pkcs12 -export -in out/aps_production.pem -inkey out/production.pem -certfile push.certSigningRequest -name "10000710" -out out/xxx.xxxx.xxx.10000710.p12


输入以上命令回车后,会看到他会提示你输入Password ,这个可不是和上一个命令一样,输入之前设置的密码了,这个是需要输入用户电脑的开机密码的。。。(不要输错被骗了哦)




输入完之后又会提示你输入密码,这时候的才是刚才设置的密码了。(骂人怎么这么多密码要输,好烦躁)这个密码与第二个命令行一样,也是需要输入三次才行,成功之后就会在out文件夹中看到最终的BOSS——push证书了,如果其中输错一次,那么,不好意思,删掉重来吧!大哭  成功之后,会是这样的,没有任何提示(细心地会看到,我在输入开机密码的时候也输错了两次,好吧,密文太可怕了,总是输错大哭)。



最后再回过来看下out文件夹中的文件,其中红框框起来的.p12格式的文件才是我们最后需要的push推送证书了,将它打包发给服务端的人员用于push推送绑定,这样客户端就能收到相应的push推送啦微笑




另外测试版的push证书生成过程我就不再展开了,过程和正式版的基本一致。况且平常不怎么使用到测试版的,如果有需要的可以自行研究微笑



总结:苹果生成push推送证书的过程比较繁琐,尤其是最后终端上的操作,我一开始也被坑成狗啊大哭,不过这也是开发必须要做的事情呀,只能多练练,熟能生巧。


好了,push证书的制作流程就讲到这里吧吐舌头,上面写的有什么不对的地方欢迎大家指出纠正,另外对于上面我讲的步骤有什么不懂地方随时可以问哈大笑,互相学习。



版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

iOS注册远程推送消息证书后提示此证书签发者无效的解决办法

大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 我们在编写关于远程推送消息的App时需要注册一个相关的证...
  • mydo
  • mydo
  • 2016年03月12日 12:47
  • 1956

IOS开发 把cer证书转为p12证书

转载地址 在 Mac OS 上将 iPhone 开发人员证书转换为 P12 文件 从 Apple 下载 Apple iPhone 证书后,将其导出为 P12 证书格式。在 Ma...
  • andrew57
  • andrew57
  • 2013年12月19日 16:04
  • 24372

手把手教你iOS消息推送证书生成以及Push消息

iOS推送消息是许多iOS应用都具备的功能,今天在给应用加推送功能,在生成证书的过程中,发生了各种令人蛋痛的事。下面就把步骤拿出来分享下: iOS消息推送的工作机制可以简单的用下图来概括: ...

iOS Push 证书的重新生成

IOS的推送证书,有有效期限制,一般为一年。当我们证书过期的时候,就需要重新生成证书了。有一段时间没有上苹果网站了,昨天上去一看,此奥,改版了,下边我们将重新生成一个正式环境的push推送的证书。 ...

iOS所有常用证书,appID,Provisioning Profiles配置说明及制作图文教程

转自holydancer的CSDN专栏,原文地址:http://blog.csdn.net/holydancer/article/details/9219333 概述: 苹果的证书繁锁...
  • gf771115
  • gf771115
  • 2014年12月15日 14:10
  • 33178

APNS推送服务证书制作 图文详解教程

iOS消息推送的工作机制可以简单的用下图来概括:   Provider是指某个iPhone软件的Push服务器,APNS是Apple Push Notification Service...

一步一步教你做ios推送

最近在研究ios的推送问题,遇到了一些问题,最终整理了一下。放在这里和大家分享 APNS的推送机制 首先我们看一下苹果官方给出的对ios推送机制的解释。如下图   Provider就是我们自己程序...

IOS Push 证书的重新生成

IOS的推送证书,有有效期限制,一般为一年。当我们证书过期的时候,就需要重新生成证书了。有一段时间没有上苹果网站了,昨天上去一看,此奥,改版了,下边我们将重新生成一个正式环境的push推送的证书。 ...
  • think12
  • think12
  • 2013年04月28日 15:06
  • 18686

2016最新iOS开发者证书申请及安装教程

2016最新iOS开发者证书申请及安装教程

iOS 开发者开发证书和发布证书的区别以及更换的方法

搞了两天的苹果证书主要是发布和开发证书的混乱,略有心得,在这里记录一下备用首先得描述一下各个证书的定位,作用,这样在制作的时候心中有谱,对整个流程的把握也会准确一些;不用对着教程一步步来也可以知道这个...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iOS开发之push证书制作流程
举报原因:
原因补充:

(最多只允许输入30个字)