该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

创建PEM文件

现在我们总共有三个文件:

CSR

私有密钥(PushChatKey.p12)

SSL证书(aps_developer_identity.cer)

将这三个文件好好保存起来。你可以选择不再用那个CSR文件了。但是在你更新证书时,你可以使用同一个CSR或者获取一个新的。如果你获取新的CSR,你同时会生成一个新的私有密钥。如果使用同一个CSR,那就只有SSL证书需要改变了。

我们需要将证书和私有密钥转换成另外一个更方便的格式。我们在服务器的推送部分会用PHP来写,所以我们现在可以把证书和私有密钥合并成一个PEM格式的文件。

PEM文件是怎么运作的并不重要(说实话我也不知道),但是这样我们能更容易地在PHP里使用这个证书。如果你准备用其他语言来写这个服务器部分,那下面的步骤可能会不配套。

我们将使用命令行OpengSSL的工具来完成这项任务。打开一个Terminal并输入以下指令。

“cd”到你下载证书,密钥文件的文件夹,对于我是桌面文件夹:

$ cd /Users/matthijs/Desktop

将那个.cer文件转换成.pem文件:

$ openssl x509 -in aps_developer_identity.cer -inform der -out PushChatCert.pem

将那个密钥.p12文件转换成.pem文件:

$ openssl pkcs12 -nocerts -out PushChatKey.pem -in PushChatKey.p12 Enter Import Password: MAC verified OK Enter PEM pass phrase: Verifying - Enter PEM pass phrase:

你首先需要输入.p12文件的密码,这样openssl才能读取这个文件。然后你需要你个新的密码来对pem文件进行加密。在这个教程中我用的还是“pushchat”。但你自己应该选择一个更加保险的密码。

注意:如果你不输入PEM的密码,openssl不会给你任何的错误信息。但是生成的.pem文件里就不会有那个密钥。

最后,将那个证书和密钥合并为一个文件:

$ cat PushChatCert.pem PushChatKey.pem > ck.pem

我们应该测试一下这个证书是否能用。执行如下指令:

$ telnet gateway.sandbox.push.apple.com 2195 Trying 17.172.232.226... Connected to gateway.sandbox.push-apple.com.akadns.net. Escape character is '^]'.

我们试着与APNS服务器建立一个一般的,没有加密的连接。如果你看到类似上面的回复,那说明你的Mac能连上APNS。按Ctrl+C切断连接。如果你得到一个错误信息,那你应该确保你的防火墙允许对外2195端口的连接。

让我们再次试着连接。这次,我们会使用那个SSL证书和密钥来建立一个加密连接:

$ openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert PushChatCert.pem -key PushChatKey.pem Enter pass phrase for PushChatKey.pem:

你应该看到一大窜回复内容。那是openssl的运行信息。

如果连接成功建立,你应该可以键入几个字符,然后当你点回车时,服务器就会和你断开连接。如果建立连接过程出现问题,openssl会给出错误信息,但你可能需要在那一大窜信息中找出错误信息。

值得注意的是,APNS其实有两个不同的服务器:那个沙盒服务器使用来测试的。还有一个正式的服务器是在你的程序投入生产后使用的。我们上面用的是测试用的服务器。因为我们的证书是开发时才能用的。

苹果百度手机消息推送服务器,苹果消息推送服务教程相关推荐

  1. 苹果6手机无信号无服务器,苹果6手机无服务是什么原因

    大家好,我是时间财富网智能客服时间君,上述问题将由我为大家进行解答. 以iOS 8.0系统为例,苹果6手机无服务的原因有: 1.首先检查SIM是否损坏: 2.可能是系统问题所致: 3.还有可能是网络环 ...

  2. android换苹果,苹果换手机怎么转移数据?苹果、安卓都可以一键转移数据

    原标题:苹果换手机怎么转移数据?苹果.安卓都可以一键转移数据 要更换手机的话,旧手机上的数据怎么办还真的是一个难题啊,毕竟手机用久了,上面的有各种重要的数据不是. 那苹果手机换机的话,将数据进行转移, ...

  3. 苹果iOS手机用户有权向苹果公司索赔

    大家知道,手机中的操作系统(基础软件)存储在手机固(firm,ware)之中,一般而言,手机用户自己是不能改动的. 苹果iOS手机的系统后门(服务程序)也存储在手机固件之中,手机用户自己是无法删除的. ...

  4. go语言消息推送服务器,Golang 消息推送系统

    ## Golang 消息推送系统 - 使用 websocket 协议,实现全局推送,和分房间推送,实现用户加入房间,退出房间 - gateway 长连接网关服务器,管理全部的链接,以及房间等相关操作 ...

  5. 苹果xR为什么显示不了服务器,苹果xr手机的safari浏览器打不开什么情况

    苹果xr手机的safari浏览器打不开什么情况 卡饭网 本站整理 2019-04-15 safari虽然只有苹果用户才能使用,但是随着苹果用户的增多,不少人遇到safari打不开网页的问题等,safa ...

  6. 我的5s手机为啥显示无服务器,苹果5信号增强器安转方法?增强信号的相关方法...

    使用手机,我们不仅可以打电话.发短信.上网等等,还可以看视频和听音乐等等.但是在使用手机的过程中,可能很多人都会遇到这样的问题,那便是手机信号不佳,使用起来有些问题.那么到底应该怎么办呢?很多人都会选 ...

  7. 苹果显示无法建立安全连接服务器,苹果浏览器出现Safari浏览器打不开该网页,因为无法与服 务器建立安全的连接...

    safari虽然只有苹果用户才能使用,但是随着苹果用户的增多,不少人遇到safari打不开网页的问题等,safari是苹果手机内置浏览器,在打开网页时经常会出现safari打不开网页因为服务器已停止响 ...

  8. gkui服务器下发消息超时,gkui服务器下发消息超时

    gkui服务器下发消息超时 内容精选 换一换 在调用创建设备命令接口时,expireTime参数设置为大于0的值.expireTime为下发命令的超时时间,单位为秒,表示设备命令在创建后expireT ...

  9. lua服务器客户端消息回调,lua服务器客户端消息回调

    lua服务器客户端消息回调 内容精选 换一换 介绍使用同一VPC内弹性云服务器ECS上的phpredis连接Redis的方法.更多的客户端的使用方法请参考Redis客户端.本章节操作,仅适用于连接单机 ...

最新文章

  1. Storybook 5.0正式发布:有史以来变化最大的版本\n
  2. 每天进步:2014年10月几篇
  3. python3 request模块 post请求四种方式
  4. 算法设计与分析——回溯法——n皇后问题
  5. 多个公证员提高网络吞吐量
  6. 客户关系管理(第3版) Customer Relationship Management,3 ...
  7. 剑指Offer——链表中倒数第K个节点
  8. python软件下载对电脑配置要求-python3批量统计用户电脑配置
  9. Discuz的分页函数
  10. 基于C++的校园一卡通管理系统
  11. 计算机论文的字体要求,论文格式及字体大小要求(标准)
  12. Maven安装教程详解
  13. 数据库 课程设计 仓库管理系统
  14. 20200210——springboot lombok
  15. 如何制作GIF表情包,GIF怎么做
  16. 网易教育线终于『并轨』
  17. Loki告警的正确姿势
  18. 2019年8月10日工作总结
  19. matlab 用古典雅可比方法求矩阵特征根 (仅使用基础函数)
  20. 技术丨如何处理有依赖的消息

热门文章

  1. Qt中使用DirectX
  2. jenkins邮件模板配置
  3. 短租民宿多平台房态同步管理系统
  4. 文献:利用自驱动分子马达并行计算子集和问题 Parallel computation with molecular-motor-propelled agents...(PNAS)
  5. hiphop 2.1 开发问题总结 原创-胡志广
  6. 复现Thinkphp5 5.0.22/5.1.29远程代码执行漏洞
  7. mysql字段时间类型报异常Data truncation: Incorrect datetime value: ‘2099-01-01 00:00:00‘ for column
  8. 用计算机弹琴琴谱,在电脑上弹钢琴的软件
  9. networkx常用函数总结(持续更新)
  10. [转]阿里云的这群疯子