1、 钥匙串创建Push证书的证书签名请求文件(CSR文件)。

如下图所示:

2、创建App ID,创建Provisioning Profile,下载安装到XCode。

苹果开发者后台页面,创建Push Notification App需要的App Id:

注意要勾选需要的服务:

接下来,就是到Provisioning Profiles创建新的描述文件,并选取刚才新创建的AppID,然后下载下来,双击安装到XCode里。

在您的App源码工程里修改Bundle Identifier为您新创建的那个AppID,再在Build Settings里代码签名的地方Provisioning Profiles选择选择刚才下载的那个。

3、接下来从苹果开发者后台下载这个程序需要的Push Notification证书,并安装到钥匙串。

回到页面“App Ids”列表,点击刚才的新创建的AppID,点击“Edit”按钮:

进来后,滚动页面到下面,看到Push Notifications,如下:

点击“Create Certificate”按钮,如果只是开发调试,使用上面那个按钮即可,点击后,如下:

点击“Continue”按钮后如下图,注意选择文件选择的就是上面步骤1产生的“CertificateSigningRequest.certSigningRequest”文件:

点击“Generate”按钮后,如下:

下载“Download”按钮下载证书到本地:

双击aps_development.cer证书将自动安装到钥匙串,如下:

4、在钥匙串里导出p12文件。

(1)先导出Push Services的证书,比如我们命名为“magic_cert.p12”,注意导出时会让你输入密码。

(2)再导出Push Services证书的密钥(Private Key),比如我们命名为“magic_key.p12”:

5、p12文件转换为pem文件。

(1)  将两个p12文件分别转换为pem格式文件。

打开“终端”,敲入命令即可转换。

第一个:

openssl pkcs12 -clcerts -nokeys -out magic_cert.pem -in magic_cert.p12

第二个:

openssl pkcs12 -nocerts -out magic_key.pem-in magic_key.p12

注意会让你输入前面你在钥匙串导出证书时的导出密码。

注:如果最终的pem在服务端系统使用时不需要密码,则可以执行命令去除密码:

openssl rsa -in magic_key.pem -outmagic_key_nopwd.pem

最后会生成两个pem文件,如:“magic_cert.pem”、“magic_key.pem或者magic_key_nopwd.pem”。

(2)  将两个pem文件合并成服务端系统需要的一个pem文件。

依然是命令行执行即可:

cat magic_cert.pem magic_key.pem >magic-dev.pem

或者不需要密码的:

cat magic_cert.pem magic_key_nopwd.pem >magic-dev.pem

最终会生成一个供服务端系统使用的“magic-dev.pem”。

6、OK,打完收工,可以各种吐槽了。

导出pem证书给服务端Push Notification使用的更多相关文章

  1. 基于CFSSL工具创建CA证书,服务端证书,客户端证书

    背景描述 在局域网中部署组件时,想要通过证书来实现身份的认证,确保通信的安全性,可以通过cfssl工具来进行CA证书,服务端证书,客户端证书的创建. 目录 背景描述 部署cfssl工具 下载,上传cf ...

  2. http系列--HTTP2.0新特性:二进制传输,多路复用,Haeder压缩,服务端push,QUIC协议

    一.前言 HTTP 2.0 相比于 HTTP 1.X,可以说是大幅度提高了 web 的性能. 在 HTTP 1.X 中,为了性能考虑,我们会引入雪碧图.将小图内联.使用多个域名等等的方式.这一切都是因 ...

  3. (转)苹果推送通知服务教程 Apple Push Notification Services Tutorial

    本文译自http://www.raywenderlich.com/.原文由iOS教程团队 Matthijs Hollemans 撰写,经原网站管理员授权本博翻译. 在iOS系统,考虑到手机电池电量,应 ...

  4. openssl实现双向认证教程(服务端代码+客户端代码+证书生成)

    一.背景说明 1.1 面临问题 最近一份产品检测报告建议使用基于pki的认证方式,由于产品已实现https,商量之下认为其意思是使用双向认证以处理中间人形式攻击. <信息安全工程>中接触过 ...

  5. [Centos]openvpn 服务端的安装(easy-rsa3)

    VPN在办公和fan墙领域有着广泛的应用,  我们小办公网最近可能会用到,先学学来着 vpn的server需要有公网ip,客户端可以在多种环境下使用 概念 PKI:Public Key Infrast ...

  6. [译]servlet3.0与non-blocking服务端推送技术

    Non-blocking(NIO)Server Push and Servlet 3 在我的前一篇文章写道如何期待成熟的使用node.js.假定有一个框架,基于该框架,开发者只需要定义协议及相关的ha ...

  7. 从服务端生成Excel电子表格(GcExcel + SpreadJS)

    在服务端生成Excel电子表格,除了使用 Node.js + SpreadJS 外,葡萄城官方推荐使用 SpreadJS + GcExcel.该方案不仅能够解决批量绑定数据源并导出Excel.批量修改 ...

  8. iOS推送小结(证书的生成、客户端的开发、服务端的开发)

    1.推送过程简介 1.1.App启动过程中,使用UIApplication::registerForRemoteNotificationTypes函数与苹果的APNS服务器通信,发出注册远程推送的申请 ...

  9. (转)在SAE使用Apple Push Notification Service服务开发iOS应用, 实现消息推送

    在SAE使用Apple Push Notification Service服务开发iOS应用, 实现消息推送 From: http://saeapns.sinaapp.com/doc.html 1,在 ...

随机推荐

  1. 汕头市队赛 C SRM 05 - YYL 杯 R1 T3!

    C SRM 05 - YYL 杯 R1 背景 tjmak 描述 给一个大小为n的序列V.序列里的元素有正有负.问至少要删除多少个元素使得序列里不存在区间(要求非空)和 >= S.如果答案大于m, ...

  2. thinkphp 随机获取一条数据

    $data=$AD->field("ID,Answer,State")->limit(1)->order('rand()')->select();

  3. 使用APICloud打包webapp

    做个记录: 参照apicloud官方文档:http://docs.apicloud.com/Dev-Tools/sublime-apicloud-plugin 可以看下我的github:https:/ ...

  4. EL表达式中获取list长度(JSTL函数用法)

    在jsp页面中不能通过${list.size}取列表长度,而是 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" pref ...

  5. Django-urls路由分发

      例如:127.0.0.0:8000/blog/lucaq.html,当有多个应用时,需要在blog应用下进行路由,我们在blog应用下做一个urls路由分发,就需要include模块实现.   导 ...

  6. python3,循环,方法练习2

    1:编写for循环,利用索引遍历出每一个字符 msg = 'hello egon 666' msg = 'hello egon 666' i = 0 for i in range(0, len(msg ...

  7. Django-内置Admin

    Django内置的Admin是对于model中对应的数据表进行增删改查提供的组件,使用方式有: 依赖APP: django.contrib.auth django.contrib.contenttyp ...

  8. GUI自动化模块化实现方式

    效率为王:脚本与数据的解耦 + Page Object模型 1.数据驱动:实现了“测试脚本和数据的解耦”,数据驱动测试的数据文件中不仅可以包含测试输入数据,还可以包含测试验证结果数据,甚至可以包含测试 ...

  9. linux下卸载Oracle

    1.卸载数据库软件--10g[oracle]# cd /u01/app/oracle/product/10.2.0/db_1/oui/bin[oracle]# ./runInstaller -igno ...

  10. PHPExcel 使用(1)

    最近在项目中要用到PHP生成EXCEL,上网找了一下,发现PHPEXCEL挺不错,用了一下,感觉还行,就是设置单元格格式的时候比较麻烦,总体来说功能还是比较强大的,还有生成PDF什么的,发一个实例吧 ...