php 利用http2进行ANPS推送

在百度查到php利用http2协议进行apple的官方的 ANPS服务器,看得头晕眼胀没得个所以然,还是自己看apple的官方文档比较靠谱。

ANPS推送需要获取证书,可以参看博客 https://my.oschina.net/u/2340880/blog/413584

其中在生成私钥后

openssl pkcs12 -nocerts -out PushKey.pem -in key.p12

执行

openssl rsa -in PushKey.pem -out PushKey.pem

把证书的密码删除,这样以后再合成ck.pem证书。在demo使用合成证书时就不需要输入密码.

打开PushKey.pem,应该会看到下面的格式

-----BEGIN RSA PRIVATE KEY-----
MIIEogIBAAKCAQEAxeInTKRB48Jh0xqBk06fnCdCzkXI/YRvy6aLCI8b/MbH3PR3
.........
-----END RSA PRIVATE KEY-----

然后打开 PushKey.pem ,把PushKey.pem中的 CERTIFICATE 复制到PushKey.pem的头部

-----BEGIN CERTIFICATE-----
MIIGNzCCBR+gAwIBAgIIREfQ40gduJIwDQYJKoZIhvcNAQELBQAwgZYxCzAJBgNV
.......
-----END CERTIFICATE-----

新的 PushKey.pem 应该为

-----BEGIN CERTIFICATE-----
MIIGNzCCBR+gAwIBAgIIREfQ40gduJIwDQYJKoZIhvcNAQELBQAwgZYxCzAJBgNV
.......
-----END CERTIFICATE-----
-----BEGIN RSA PRIVATE KEY-----
MIIEogIBAAKCAQEAxeInTKRB48Jh0xqBk06fnCdCzkXI/YRvy6aLCI8b/MbH3PR3
.........
-----END RSA PRIVATE KEY-----

下面是发送Demo
[$deviceToke] : Iphone的标识
[$cert_root] : 上述博客中合成ck.pem的 绝对路径

$url = "https://api.sandbox.push.apple.com:443";
$requestUrl = "/3/device/[$deviceToke]";

$curlUrl = $url . $requestUrl;
$string = md5(microtime(true));
$uuid = substr ( 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值