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才能推送出消息。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。