本教程要求你使用一台Mac电脑,并且你有一个有效的Apple 开发者账号.
1.登录Apple的Developer Member Center
- 打开Safari浏览器,地址栏输入并打开此网址:https://developer.apple.com/membercenter/index.action,然后用开发者账号登录.
- 选择点击
Certificates, Identifiers & Profiles.
, 打开后在左侧列表中选择Certificates
大类下面的All
子类,出现如下界面:

apns-01.png
然后点击右上方的+
号图标来新创建一个证书(红色箭头所示).
2.选择证书的类型,Sandbox或者Productuon
- 根据你的需求选择
Apple Push Notification service SSL (Sandbox)
或者Apple Push Notification service SSL (Sandbox & Production)
类型的证书. - 然后点击继续.
这里要注意一点,选择证书的正确类型非常重要:
一个用Development Provisioning Profile
签名的App生成的 Device Token
只能和Sandbox APNS Server
结合使用(开发环境测试用).
一个用AdHoc Provisioning Profile
或者AppStore Provisioning Profile
签名的App生成的Device Token
只能和Production APNS Server
结合使用(生产环境发布使用).
提示:
有些用户已经报告过关于使用二合一的推送证书(Apple Push Notification service SSL (Sandbox & Production),新出的
)在调试测试环境进行推送时会出问题.

apns-03.png
3.选择你对应的App ID
- 前提你要先已经创建了你App使用的App ID,并在App ID下拉选项中选择你对应的App ID.
- 点击继续按钮继续.

apns-02.png
4.查看创建证书签名请求相关步骤信息
- 查看一下如何创建一个CSR文件的信息.
- 点击继续.

apns-04.png
该页面有关于如何一步一步创建CSR文件的详细信息,下面我们就跟着一步一步来创建CSR文件.
5.打开钥匙串访问程序
打开Launchpad中的其他
组的Keychain Access App
,就是钥匙串访问
程序.

apns-05.png
6.创建证书签名请求文件
- 点击
钥匙串访问程序
的菜单栏 - 选择
证书助理
子菜单 - 选择
从证书颁发机构请求证书...
子子菜单

apns-06.png
7.填写证书签名请求文件详细信息
- 输入email地址,为了安全和保险起见,最好填写和你Apple开发者账号对应的email地址.
- 接着输入常用名称.
- 最好选择
存储到磁盘
选项. - 最后点击继续.

apns-07.png
8.保存证书签名请求文件到磁盘
- 选择一个存储位置以及输入一个你喜欢的文件名称
- 点击保存

apns-08.png
9.完成证书签名请求文件制作
- 直接点击完成

apns-09.png
10.上传正确签名请求文件
- 继续回到第四步后的浏览器界面
- 选择
Choose File...
来上传 - 在弹出的文件打开对话框中定位到刚刚存储的证书签名请求文件所在目录,并选择打开该CSR文件.
- 点击继续

apns-10.png
11. 下载证书文件
- 上一步继续之后,你的证书应该就已经生成好了.
- 点击下载按钮来下载证书
- 打开下载的证书文件,一般会自动用钥匙串访问程序打开的.

apns-11.png
12.找到证书和私钥
- 在钥匙串访问程序中找到刚刚打开导入的证书
- 然后点击右三角展开证书,显示出对应的私钥

apns-12.png
13.导出私钥文件
- 在对应的证书下面仅选中私钥部分
- 在私钥部分右键
- 在弹出的选择框中点击 导出
常用名称
菜单

apns-13.png
14. 保存导出的私钥文件
- 选中一个存储的位置并输入喜欢的私钥文件名
- 格式选择.p12格式
- 点击存储

apns-14.png
15. 给.p12文件设置可选密码保护
- 如果有需要,可以为存储的.p12文件设置一个保护密码.
- 然后点击
好
,或者直接点击好
而不设置密码.

apns-15.png
大功告成
现在你已经拥有了一个.p12格式的文件,该文件包含了和Apple的APNS服务器建立SSL/TLS安全通信的私钥.
你可以把该.p12文件上传到你的推送服务器并配置使用了.
致谢.