本文主要记录制作服务器(例如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
```
$ openssl x509 -inform der -in aps_development.cer -out devPushChatCert.pem
$ openssl x509 -inform der -in aps.cer -out PushChatCert.pem
```
2). 将钥匙串中的p12转换成pem
```
$ openssl pkcs12 -nocerts -out devPushChatKey.pem -in Apple\ Development\ IOS\ Push\ Services-\ com.in.inlan.p12
$ openssl pkcs12 -nocerts -out PushChatKey.pem -in Apple\ Push\ Services-\ com.in.inlan.p12
```
3). 将上面生成的2中pem转为一个pem
```
$ cat devPushChatCert.pem devPushChatKey.pem > dev_ck.pem
$ cat PushChatCert.pem PushChatKey.pem > ck.pem
```
5.如果需要转换为p12
```
$ openssl pkcs12 -export -in dev_ck.pem -out dev_pushcer.p12
$ openssl pkcs12 -export -in ck.pem -out pushcer.p12
```
6.验证证书是否可用
整理有个写好的脚本可用(内部替换所需deviceToken即可)
Push Demo
https://iodefog.github.io/file/push.zip
```php
$ php ios-push.php
```
网友评论