iOS推送证书制作

作者: 修_远 | 来源:发表于2017-12-02 15:45 被阅读48次

对于APNS证书,要分别制作开发证书和生产证书,不同环境下使用不同的证书,但是对于VoIP证书只有一个,不过在服务端连接通知服务器的时候还是需要区分环境的。

2. 推送证书的制作

  1. 准备CSR文件
    首先我们要有生成一个Certificate Signing Request(也就是CSR)的请求文件。
    在应用程序里的使用工具中找到钥匙串访问。

    钥匙串访问.png
    填上你的邮箱和常用名 或者是公司关联账号,常用名要记一下,一会
    会用到。
    保存CSR文件1.png
    然后选择保存到磁盘,继续
    1保存CSR文件2.png
    这时桌面上会有一个CertificateSigningRequest.certSigningRequest的请求文件,也就是我们说的CSR文件。在我们生成CSR文件的同时,会在钥匙串访问中生成一对秘钥,名称为刚才我们填写的常用名。当然,在实际开发中,我们需要把这些证书文件放在自己分类的文件夹中。
  2. 下载开发证书和发布证书
    苹果开发者中心 登录后,在右侧的ios Developer Program里点击iOS Provisioning Portal。
    进入下一级页面后在左侧选择Certificates

    证书界面.png
    创建证书1.png
    创建证书2.png
    创建证书3.png
    创建证书4.png
  3. 注册项目的Bundle ID

    注册Bundle ID_1.png
    注册Bundle ID_2.png
    注册Bundle ID_3.png
    选择Bundle ID.png
    注册Bundle ID_4.png
  4. 创建测试证书和生产证书

    创建测试证书和生产证书.png
    选择CSR文件1.png
    选择CSR文件2.png
    选择CSR文件3.png
    创建测试证书成功.png
  5. 导出.p12证书

  • 点击下载下来去,下载下来后会是一个. cer文件
  • 双击文件,(因为你需要生成一个.p12文件才能用)
  • 导出证书


    导出证书1.png
    导出证书2.png

同样的方法可以得到开发推送证书,到这里APNS推送证书就都下载好了。如果是用的信鸽的推送平台,则信鸽中会知道你如果去配置信鸽需要的推送证书的链接,信鸽平台中需要的是.pem证书,极光推送中需要上传.p12证书,可能就是这里的问题导致项目在集成信鸽推送之后再单独集成VoIP会导致VoIP消息发送失败的问题。

2.2 VoIP推送证书

voip_center.png.jpeg

VoIP证书的制作过程和APNS推送证书的制作过程雷同,只不过不需要区分开发环境和生产环境,一个bundle ID只需要创建一个VoIP证书。
【tips】如果是先创建的开发证书和发布证书,然后再去创建推送证书,建议在将推送证书创建成功之后就更新一次开发证书和发布证书,避免推送收不到然后又查不出问题。

2.3 配置证书

到这里的时候就应该是6个证书了,三个从开发者中心下载的证书,还有三个.p12证书

证书文件1.png
  • 制作.pem格式证书
    创建VoIP证书为例
    1. 目前我们有两个文件,voip_services.cer SSL证书和voip_push.p12私钥
    2. 把.cer的SSL证书转换为.pem文件,打开终端命令行cd到证书文件夹、执行以下命令
      openssl x509 -in voip_services.cer -inform der -out voip_cert.pem
    3. 把.p12私钥转换成.pem文件,执行以下命令(这里需要输入之前导出设置的密码)
      openssl pkcs12 -nocerts -out voip_key.pem -in voip_push.p12
    4. 再把生成的两个.pem整合到一个.pem文件中
      cat voip_cert.pem voip_key.pem > voip_ck.pem
      最终生成的voip_ck.pem文件一般就是服务器用来推送的。

同样的步骤可以创建另外两个证书,创建完成之后的文件夹中应该有:


证书文件2.png

我们需要的所有推送文件都在这里面了
比如信鸽推送需要上传 push_key_dev.pempush_key_dis.pem 证书
极光中需要上传 push_cert_dev.p12push_cert_dis.p12 证书
如果是网易云中有需要使用VoIP功能的,则还需要上传我们做好的 voip_ck.pem 证书

集成VoIP推送看似是简单,但其中会遇到各种坑,如果每次出现问题都要服务器配合测试的话,很难找到问题的根源,而且还浪费时间,所以最好是自己搭建一个简单的测试环境先测试通,然后再与服务器对接。后面会提供服务端源码和一个很牛逼的推送测试工具pusher。这个时候需要用到的推送证书就是

  • push_key_dev.pem 测试环境APNS推送证书
  • push_key_dis.pem 生产环境APNS推送证书
  • voip_ck.pem VoIP推送证书

相关文章

  • iOS开发环境相关(3)——证书制作

    这里的证书不包含推送证书,如果需要制作推送证书,移步iOS开发环境相关(4)——推送证书 开发者证书制作 证书主要...

  • iOS推送证书制作

    对于APNS证书,要分别制作开发证书和生产证书,不同环境下使用不同的证书,但是对于VoIP证书只有一个,不过在服务...

  • 百度云推送证书无效解决方案

    公司的iOS推送证书即将到期,重新生成一个证书,按照文档制作出pem文件 上传到百度云推送的时候提示证书无效。经过...

  • 2022-07-01

    iOS 推送通知证书制作一、生成Certificate Signing Request(CSR)1.打开钥匙串,钥...

  • iOS推送证书配送制作

    1、开发者证书(分为开发和发布两种,类型为ios Development,ios Distribution),这个...

  • iOS 制作APNS推送证书

    今天在制作推送证书时发现网上很多文章贴的命令制作出来的证书验证都不能通过,现在记录一下可用的命令: 导出证书的.p...

  • 推送

    制作推送证书 iOS工程开发指引中对推送流程的概括如下 服务端的Provider通过APNs将信息推送给Clien...

  • 申请iOS推送证书p12

    iOS APP需要推送通知,要用到iOS推送证书,分为测试调试用的iOS推送证书(开发环境)和上架到App Sto...

  • ios推送证书配置

    ios推送证书配置 ios的消息推送需要配置推送证书,这和打包证书是两个不同的证书。这里简单介绍下大致的流程。以下...

  • 用AdHoc来测试iOS线上推送

    1. 关于iOS 推送证书 iOS推送分为开发环境和生产环境,在推送证书的type上分别对应 APNs Deve...

网友评论

    本文标题:iOS推送证书制作

    本文链接:https://www.haomeiwen.com/subject/aamnbxtx.html