0%

iOS 推送证书(pem)制作流程

创建 CSR 文件

CSR证书签名请求(Certificate Signing Request)的缩写。

  1. 打开 钥匙串 ——> 钥匙串访问 ——> 证书助理 ——> 从证书颁发机构请求证书

    创建CSR

  2. 填写相关信息:开发者账号 ——> CSR密钥文件名 ——> 存储本地磁盘

    创建CSR

  3. 选择本地路径保存 CSR 文件

申请推送证书

  1. 登录开发者中心

  2. 选择打开 APP ID相关信息,搜索 Push Notifications 字段

    创建CSR

    创建CSR

    这一步也可以验证推送证书是否已经制作,如下图:

    创建CSR

  3. 选择 Create Cerfificate

    创建CSR

  4. 上传刚刚创建的 CSR 文件

    创建CSR

  5. 创建完成后,下载该证书备用

    创建CSR

  6. 至此,推送证书已经创建成功

    创建CSR

    其中:

    • CertificateSigningRequest.certSigningRequestCSR 文件
    • aps_development.cer测试推送证书
    • aps.cer发布推送证书

提示:测试推送证书发布推送证书 的制作流程一样,这里就不重复说了。

安装推送证书

  1. 双击安装刚刚下载的 aps_development.ceraps.cer 文件

  2. 安装成功后,会在钥匙串生成相关的信息,如:

    创建CSR

导出 p12 文件

  1. 打开钥匙串,找到安装成功的推送证书

  2. 点击前面的 三角号 展开密钥,分别对 cerkey 导出对应的 p12 文件

  3. 扩展后右击 Apple Development Push Services ——> 导出 "Apple Development Push Services 。。。"。 ——> 保存为 apns-dev-cert.p12 文件

    创建CSR

    创建CSR

    创建CSR

  4. 右击对应的 Private Key ——> 导出。。。 ——> 保存为 apns-dev-key.p12 文件

    创建CSR

提示:测试推送证书发布推送证书p12 文件制作流程一样,这里就不重复说了。

制作 pem 文件

apns-dev-cert.p12apns-dev-key.p12 文件对应转化为 apns-dev-cer.pemapns-dev-key.pem 文件。

  1. 打开终端,输入:

    1
    2
    3
    openssl pkcs12 -clcerts -nokeys -out apns-dev-cert.pem -in apns-dev-cert.p12

    openssl pkcs12 -nocerts -out apns-dev-key.pem -in apns-dev-key.p12

    -nokeys:表示不需要密码

  2. 如果想要移除密码,要么在导出/转换时不要设定或者执行如下命令:

    1
    openssl rsa -in apns-dev-key.pem -out apns-dev-key-noenc.pem
  3. keycert 合成为 apns-dev.pem 文件:

    1
    cat apns-dev-cert.pem apns-dev-key-noenc.pem > apns-dev.pem

    apns-dev.pem 文件在 服务器 连接到 APNS 时需要使用:

  4. 验证证书有效性:

    1
    openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert apns-dev-cert.pem -key apns-dev-key-noenc.pem  

    验证 pem

提示:测试推送证书发布推送证书pem 文件制作流程一样,这里就不重复说了。


自动创建 PEM

Bash 脚本

参考资料

生成APNS Service证书的步骤