本文主要记录制作服务器(例如php)利用pem推送服务
基本流程:
1.利用“钥匙串”请求证书
2.创建证书,下载cer文件
3.双击安装下载的cer文件后,导出p12证书
4.利用命令行转换pem文件
5.如果需要转换为p12
6.验证证书是否可用
具体步骤:
1.利用钥匙串请求证书
Apple建议这样填写
保存,得到”CertificateSigningRequest.certSigningRequest”文件。这是请求所有证书的基础。
2.创建证书,下载cer文件
进入苹果开发者中心:https://developer.apple.com/cn/ Certificates, IDs & Profiles
创建 “iOS Development” 和 “iOS Distribution” 以及“Identifiers->App IDs”证书后,才可以创建推送证书。
创建方法类似,此处省略800字。
把做的证书下载下来。
分别得到发布开发cer和发布cer
“aps_development.cer” 和 “aps.cer”
3.双击安装下载的cer文件后,导出p12证书
分别导出开发证书和发布证书
“Apple Development IOS Push Services- com.in.inlan.p12” 和 “Apple Push Services- com.in.inlan.p12”
4.利用命令行转换pem文件
1). 先把下载下的cer转换为pem
1 | $ openssl x509 -inform der -in aps_development.cer -out devPushChatCert.pem |
2). 将钥匙串中的p12转换成pem
1 | $ openssl pkcs12 -nocerts -out devPushChatKey.pem -in Apple\ Development\ IOS\ Push\ Services-\ com.in.inlan.p12 |
3). 将上面生成的2中pem转为一个pem
1 | $ cat devPushChatCert.pem devPushChatKey.pem > dev_ck.pem |
5.如果需要转换为p12
1 | $ openssl pkcs12 -export -in dev_ck.pem -out dev_pushcer.p12 |
6.验证证书是否可用
整理有个写好的脚本可用(内部替换所需deviceToken即可)
1 | $ php ios-push.php |