测试APNS推送工具SSL报错的处理办法

        最近想找个简单的推送程序测试下自己制作的推送证书有没有问题,于是就百度了下,网上的推送代码是相当的多,但是随便找了几个,都没有能够在Mac上完成推送测试,基本上运行都会报错。

        附上最终文件下载地址(附带pem文件生成工具):点击下载

        关于pem生成工具的源码解释:p12转pem小工具

网上下载的代码如下:

测试APNS推送工具SSL报错的处理办法_第1张图片
网上下载的推送代码

        将上述代码使用终端运行之后,一般都会有如下的报错:


测试APNS推送工具SSL报错的处理办法_第2张图片
运行报错信息

        看到上述的报错信息,其实就是说,一个SSL操作的失败,具体原因,我猜测应该是我们连接苹果的APNS服务器的连接,并不是加密之后的安全连接,所以APNS服务器拒绝了我们。

        解决的办法如下:

        替换调直接创建资源流上下文的代码,

测试APNS推送工具SSL报错的处理办法_第3张图片
替换代码的位置

        在创建资源流上下文的时候,加入ssl的配置内容,跳过验证部分信息的步骤,这样将pem文件与php文件放在同一个目录下面,设置好token、pem证书名、证书密码, 运行,就可以收到推送通知了,亲测OK哈。

        关于这个报错的具体原因,欢迎大家给出科学的解释哈!!!

你可能感兴趣的:(测试APNS推送工具SSL报错的处理办法)