制作 iOS 推送证书

如需向 iOS 设备推送数据,您首先需要在消息推送控制台上配置 iOS 推送证书。iOS 推送证书用于推送通知,本文将介绍消息推送服务支持的证书类型,并引导您制作 iOS 推送证书。

证书类型

苹果证书类型 如下图所示。消息推送服务仅支持 Apple Push Service 类型的证书。

Apple Push Service 易和 iOS Development 类型的证书混淆。使用 iOS Development 证书会导致消息推送大量失败。下面将介绍如何通过 MAC Key Store消息推送控制台 区分这两类证书。

cert_type.png

MAC Key Store

双击已有的 .p12 证书,将证书导入 MAC 钥匙串中,您将看到证书名称等信息:

cert_list.png

其中,

  • iPhone Developer:苹果开发证书。消息推送不支持。
  • Apple Push Service:生产环境苹果推送证书。消息推送支持。
  • Apple Development IOS Push Services:开发环境苹果推送证书。消息推送支持。

消息推送控制台

在消息推送控制台导入证书后,您将看到以下证书信息:

cert_info.png

如上图,subjectDN 属性:

  • Apple Development IOS Push Services:开发环境苹果推送证书。消息推送支持。
  • Apple Push Service:生产环境苹果推送证书。消息推送支持。

iPhone Developer.png

如上图,subjectDN 属性 iPhone Developer 表明是苹果开发证书,消息推送不支持。

制作证书

创建苹果 App ID

  1. 在苹果开发平台,单击左侧导航栏 App IDs,然后单击右上角 + 按钮。

    create_app_id_1.png

  2. 填写基础信息。
    • App ID Description > Name
    • App ID Suffix > Bundle ID: Bundle ID 需要具备唯一性。
  3. 勾选 Push Notifications 能力。

    push_notifications.png

  4. 单击 Continue 后,单击 Register 完成创建。

制作 .certSigningRequest 文件

  1. 进入 Mac 中的钥匙串服务。

    mac_key_center.png

  2. 请求证书。选择 钥匙串访问 > 证书助理 > 从证书颁发机构请求证书…

    request_cert.png

  3. 在打开的 证书信息 窗口中,根据实际情况填写邮件地址和常用名称等相关信息。

    cert_request_info.png

  4. .certSigningRequest 文件制作成功,如下图所示。

    certSigningRequest_file.png

创建证书

  1. 在苹果 App IDs 页面中,选中自己的 iOS App ID,单击 Edit

    edit_app_id.png

  2. 单击 Development SSL CertificateProduction SSL Certificate 卡片中的 Create Certificate,开始创建开发或生产环境下的证书。

    create_cert_entry.png

  3. 在创建证书时,您需要上传前面制作的 .certSigningRequest 文件。

    upload_certSigningRequest_file.png

  4. 证书创建成功后,您将看到以下页面。单击 Download,您将得到 .cer 文件。

    cert_ok.png

  5. .cer 文件转换成 .p12 文件。

    1. 双击 .cer 文件,将文件导入 Key Store。
    2. 找到刚刚导入的证书,右键单击,选择 导出 功能。导出成功后您将获得 .p12 证书。convert_cer_to_p12.png
  6. 至此您已获得了 .p12 证书,可以到 消息推送控制台 > 推送配置 中配置 iOS 推送证书。