iOS推送证书从申请到使用
关于这个话题,已经有非常多写的非常好的文章了。可是,在自己做的过程中,即使别人写的已经非常好了,还是会遇到这样那样的问题。
自己还是再写一遍吧。
本文记录了从无到有申请证书,到最后可以发出通知。当然,前提是我们有一个合适的开发人员帐号。
准备工作
1. 登录开发人员帐号,假设帐号的权限合适。我们会看到例如以下图:
或者最新的界面应该是以下(刚刚发现页面更新了):
2. 点击红色框内的菜单。会来到例如以下界面:
创建App ID
这里要创建的App ID就是我们的App的Bundle Id。
3. 点解左側的“App IDs”。会看到当前帐号下的全部App ID。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
4. 点击右上角的➕
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
App ID Description下加入这个这个App ID的描写叙述,如“My Test App”。
App ID Prefix下填写App的Bundle ID。不要带*号。
App Services下,勾选Push Notifications。
5. 点击Continue。会看到刚创建的App Id的信息。例如以下图:
6. 这时候再点击左側的“App IDs”,会看到右边的列表多了一条。
申请证书
推送证书分为开发证书和生产证书。我们以生产证书为例。
7. 点击左側的“Certificates”下的“Production”,会看到当前帐号下的全部生产证书
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
8. 点击右上角的➕
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
9. 选中Production下的Apple Push Notification service SSL。点击Continue
10. 在App ID下选中我们新建的App ID。点击Continue
11. 点击Continue。来到例如以下界面。须要我们上传CSR文件
接下来,我们要先在本地生成CSR文件。
12. 打开钥匙串(Keychain Access)程序。点击左上角的Keychain Access,做例如以下图的选择
12. 然后会看到例如以下提示
13. 填入邮箱等信息。选择“Save to Disk”。点击Continue后。会提示保存选择保存位置。选择合适的保存位置,保存。
14. 再接着第#11步。我们要上传刚才生成的CSR文件。点击“Choose File”,选择我们刚才生成的文件。然后点击Continue。然后会来到例如以下界面:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
这时。我们的证书已经创建好了。点击Download,将证书下载到本地。
我在桌面创建一个名为Cert的目录,将证书放到该目录下。
一会儿还会用。
创建Provisioning Profile
15. 点击左側的Provisioning Profiles下的Distribution
16. 点击右上角的➕
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
17. 点击Distribution下的In House,点击Continue
18. 在App ID下选择我们新建的App ID。
点击Continue
19. 选择我们刚才新建的证书所属的帐号。
点击Continue
19. 在Profile Name中。输入Profile的名字。点击Continue
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
这时。我们的Profile已经创建好了。点击Download,下载到本地。我把下载的Profile放到了在#14步中新建的Cert文件下。
生成供服务端使用的证书
例如以下图:
点击Save
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
证书就被保存到了桌面上
24. 好吧。刚才保存的位置不好。
把刚才导出的证书拖到Cert目录中。
25. 在Cert下创建一个Gen目录,将下载的证书和导出的证书拷贝到Gen中。
并在Gen文件下,做例如以下的重命名:
下载的证书->developer_identity.cer
导出的证书->mykey.p12
注:这一步不是必须的。全然能够省略。我仅仅是为了方便有用接下来的命令(參考自这里)。
25. 打开终端(Terminal)程序,cd到桌面的Gen目录下。依次输入例如以下命令:
openssl x509 -in developer_identity.cer -inform DER -out developer_identity.pem -outform PEM
openssl pkcs12 -nocerts -in mykey.p12 -out mykey.pem
openssl pkcs12 -export -inkey mykey.pem -in developer_identity.pem -out iphone_dev.p12
期间会要求输入password(导出的证书的password和新生成的证书的password),按要求输入就能够了。例如以下图:
执行完成后。会在Gen下生成几个文件。当中iphone_dev.p12就是供服务端使用的证书。
使用新证书对程序签名
例如以下图:
当然,还须要在服务端实现通知的推送。
參考:
http://blog.csdn.net/kepoon/article/details/22672133
http://stackoverflow.com/questions/7213074/notnoop-java-apns-push
iOS推送证书从申请到使用的更多相关文章
- iOS推送证书上传(转)
iOS 推送证书制作(JAVA/PHP) 在使用Java或者PHP制作iOS推送服务器的时候,需要自己从开发者网站上导出的aps_developer_identity证书和Apple Developm ...
- iOS推送证书转pem文件
iOS推送证书转 .pem文件. 推送证书转pem文件openssl x509 -in apns_miaobozhibo.cer -inform der -out apns_miaobozhibo.p ...
- iOS 推送证书的制作
关于iOS推送证书的P12文件,并非直接从KeyChain导出来的证书文件.而是须要经过openSSL工具制作的.(好在Mac OS 默认就有openSSL命令) 针对不同的Server平台,须要的证 ...
- ios 推送 证书配置
S的推送证书,有有效期限制,一般为一年.当我们证书过期的时候,就需要重新生成证书了.有一段时间没有上苹果网站了,昨天上去一看,此奥,改版了,下边我们将重新生成一个正式环境的push推送的证书. 1.先 ...
- iOS推送证书生成pem文件(详细步骤)
1.pem文件概述 pem文件是服务器向苹果服务器做推送时候需要的文件,主要是给php向苹果服务器验证时使用,下面介绍一下pem文件的生成. 2.生成pem文件步骤 1.打开钥匙串,选择需要生成的推送 ...
- iOS 推送证书
push 服务器证书 钥匙串:登入-->证书,选项里面导出证书命名为cert.p12,跟密钥命名为key.p12 需要将上面的2个.p12文件转成.pem格式: openssl pkcs12 - ...
- c#上iOS apns p12文件制作记录 iOS推送证书制件
前期一些准备工作可参考:http://jingyan.baidu.com/article/7082dc1c6bb86de40a89bd1a.html 1.在桌面上建一个"apns_p12&q ...
- iOS 推送证书制作 (JAVA/PHP)
// aps_development.cer 转化成pem openssl x509 -in aps_development.cer -inform der -out PushChatCert.pem ...
- iOS推送证书p12转成pem
首先你需要导出p12格式的证书,具体操作请参考如下: 其次你就可以通过在控制台输入如下命令即可转换: openssl pkcs12 -in 你导出的p12证书 -out 你要转换的pem证书 -nod ...
随机推荐
- ps可选颜色
RGB模式和CMYK模式 青色加红色是黑色->颜料,而蓝色绿色(它们合起来是青色)加红色却是白色->加光 可调整的原色(主色)可调整的主色分为三组RGB三原色:红色.绿色.蓝色CMY三原色 ...
- 修改ultisnips的默认键
把ultisnips修改和textmate一致. <tab>展开代码,再按<tab>跳转到下一个占位符,<shift+tab>跳转上一个占位符. 在vim配置文件中 ...
- c语言中使用宏,需要注意的的几点
使用#define来定义一些宏,进行一些简洁的替换甚至一些带参数的宏,在linux c代码中很常见,说明它很好.很有用, 但是它也有一些复杂的规矩和陷阱需要注意,下面我记录一些,仅供参考. 1.当使用 ...
- Sampling and Estimation
Sampling and Estimation Sampling Error Sampling error is the difference between a sample statistic(t ...
- 微信公众号支付安卓和WP支付成功,苹果不能支付!
花了几天时间,终于搞好了,代码是从官网上下的.NET DEMO的代码改的,测试的时候发现安卓和WP手机都能进行支付,但是苹果的怎么支付都支付不了,主要是在下面这个界面 点支付按钮就是苹果支付不了,其他 ...
- 64位win8.1系统安装intelhaxm
加快安卓模拟器的启动速度,需要装intelhaxm,以前win8时直接双击网上下载的exe文件就安装得了,但是win8.1的时候双击了总提示说是vt-x没有启用的,但是我看任务管理器→性能标签页那里的 ...
- Parallel Programming AND Asynchronous Programming
https://blogs.oracle.com/dave/ Java Memory Model...and the pragmatics of itAleksey Shipilevaleksey.s ...
- 利用面向对象思想封装Konva动态进度条
1.html代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...
- mysql root 密码忘记
首次安装mysql后,使用root登录mysql.终端会提示需要输入密码.可是安装的过程并没有提示输入root的密码.怎么办呢?通过修改my.conf配置绕开mysql的授权验证,重置root用户的密 ...
- ucos-III基础教程汇总
目录: 1.ucos-III前言 2.uC/OS-III 概要 3.移植 uC/OS-III 到 STM32 4.调度器 5.uC/OS-III 时钟节拍,时间管理,时间片调度