欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

ios 服务器端推送证书生成的方法

程序员文章站 2022-06-23 20:58:34
1.打开mac的钥匙串,生成证书请求文件 2.登录apple dev账号,编辑对应app id 点击创建证书,使用步骤1生成的证书请求创建推送证书,开发证书和推...

1.打开mac的钥匙串,生成证书请求文件

ios 服务器端推送证书生成的方法

2.登录apple dev账号,编辑对应app id

ios 服务器端推送证书生成的方法

点击创建证书,使用步骤1生成的证书请求创建推送证书,开发证书和推送证书可以用同一个证书请求生成证书

ios 服务器端推送证书生成的方法

3.下载步骤2中生成的推送证书并导入到系统中

ios 服务器端推送证书生成的方法

导出证书保存为.p12格式,不用设置秘钥直接导出

ios 服务器端推送证书生成的方法

4.导出证书私钥,秘钥名称就是步骤1中创建证书请求的名字,默认为系统当前用户名

ios 服务器端推送证书生成的方法

设置私钥保护密码,这个密码一定要记住后面有用

ios 服务器端推送证书生成的方法

5.转换证书格式

转换推送证书为pem格式

openssl pkcs12 -clcerts -nokeys -out dev_cert.pem -in dev_cer.p12

转换私钥为pem格式,这里需要输入三次秘钥,第一次为步骤4中导出私钥时设置的秘钥,第二和三次为pem设置私钥,这里设置的私钥需要保留

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

合成证书

cat dev_key.pem dev_cert.pem > dev_push.pem

ios 服务器端推送证书生成的方法

6.验证证书

ios的推送证书分为两种,开发证书和发布证书。开发证书用于平时测试用,只有导出的ipa文件为开发模式时才能使用;发布证书,需要导出的ipa文件为ad hoc模式,或者是发布到app store中的安装包。

验证开发证书方式

openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert dev_cert.pem -key dev_key.pem

验证发布证书的方式

openssl s_client -connect gateway.push.apple.com:2195 -cert pro_cert.pem -key pro_key.pem

由于我们示例中导出的是开发证书,所有使用验证开发证书的方式。

ios 服务器端推送证书生成的方法

输入如下内容说明证书验证通过

ios 服务器端推送证书生成的方法

7.提交证书给服务器

最终提交给服务器的为步骤5中 生成的dev_push.pem和转换私钥过程中新设置的秘钥。开发证书也是按照这个步骤来生成。

8.特别提示

过程中生成的 .p12文件记得保留,我们在其他mac上使用一些推送测试工具时,需要导入dev_key.p12或者pro_key.p12才能推送出消息。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。