Skip to content

APNs Push

Royal Zheng edited this page May 13, 2019 · 3 revisions

1.生成PHP需要的Pem证书

苹果服务器证书端设置正确!打包证书、描述文件正确!! 下载推送证书(cer格式),导入keyChain,保证私钥存在,不存在去找创建这个证书的电脑要一份过来。 从钥匙库导出的根证书(推送证书)私钥(p12格式) 第三步根证书的私钥这里是一个坑!因为一个App的推送证书的创建可以和根证书创建的电脑不同,也就是keyChain产生的certSigningRequest不一样,所以私钥也是不一样的,在这里生成Pem时,注意要使用推送证书的私钥!

操作过程: 把推送证书(.cer)转换为.pem文件,执行命令:

openssl x509 -in 在苹果开发者网站下载的推送证书.cer -inform der -out 需要的证书1.pem

把推送证书导出的私钥(.p12)文件转化为.pem文件:

openssl pkcs12 -nocerts -out 需要的证书2.pem -in 从钥匙库导出的根证书私钥.p12

对生成的这两个pem文件再生成一个pem文件,来把证书和私钥整合到一个文件里:

cat 需要的证书1.pem 需要的证书2.pem >push.pem

生成的 push.pem 就是需要的证书了。

PHP 代码

运行

php push.php

即可。

Clone this wiki locally