首页 »移动端 »ios

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

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

2.登录Apple dev账号,编辑对应APP ID

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

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

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

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

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

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

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

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

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

7.提交证书给服务器

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

8.特别提示

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

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