在LINUX下使用PHP从pushnotification创建.pem文件

Mou*_*maa 1 php iphone apple-push-notifications

我正在尝试在我的应用程序中实现推送通知,为此我尝试使用easyApns,我按照步骤,并在我的Linux上实现类.但不幸的是,我还打赌一些与证书有关的错误.

我的错误是:

警告:stream_socket_client()[function.stream-socket-client]:SSL操作失败,代码为1. OpenSSL错误消息:错误:14094416:SSL例程:SSL3_READ_BYTES:sslv3警报证书未知/ var/www/html/apns/classes第401行的/class_APNS.php

警告:stream_socket_client()[function.stream-socket-client]:无法在第401行的/var/www/html/apns/classes/class_APNS.php中启用加密

警告:stream_socket_client()[function.stream-socket-client]:无法连接到/ var/www/html/apns/classes /中的ssl://gateway.sandbox.push.apple.com:2195(未知错误)第401行的class_APNS.php

注意:无法连接到APNS:0.1)APNS :: __ construct - > File:apns.php(第50行)2)APNS :: _ fetchMessages - > File:class_APNS.php(第217行)3)APNS :: _ pushMessage - > File:class_APNS.php(第376行) )4)509行/var/www/html/apns/classes/class_APNS.php中的APNS :: _ triggerError - >文件:class_APNS.php(第405行)

我认为这是与证书相关的错误(.pem文件)

我的.pem文件使用以下命令生成

openssl pkcs12 -in apns-dev-cert.p12 -out apns-dev-cert.pem -nodes -clcerts

它被放置在服务器(基于Linux)上,并给予chmod 644权限

我应该做别的什么.....

Nil*_*esh 6

您是否可以使用证书连接到apns?尝试以下命令来检查:

$ openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert YourSSLCertAndPrivateKey.pem -debug -showcerts -CAfile server-ca-cert.pem

如果命令终止,则无法连接.如果它继续运行并允许您键入套接字,则表示已成功连接.