且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

Apple推送通知服务:证书安装服务器端?

更新时间:2023-11-27 21:52:28

我的服务器上 dev.pem 的路径不正确。 / p>

这些说明确实是生成.pem文件的正确方法。一旦创建,它可以在任何机器上使用(而不仅仅是生成它的机器)。


I've followed the instructions at How to build an Apple Push Notification provider server (tutorial) in an attempt to set up a push notification server.

When I attempt to connect with the following PHP code

// connect to apns server
$strAPNSUrl = 'ssl://gateway.sandbox.push.apple.com:2195';
$strAPNSCert = 'dev.pem';

// generate stream
$oStreamContext = stream_context_create();
stream_context_set_option($oStreamContext, 'ssl', 'local_cert', $strAPNSCert);

// create the socket connection
$oAPNS = stream_socket_client($strAPNSUrl, $iError, $strError, 2, STREAM_CLIENT_CONNECT, $oStreamContext);

I get the following warning

Warning: stream_socket_client() [function.stream-socket-client]: SSL operation failed with code 1. OpenSSL Error messages: error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert

Based on what information I've been able to find on Google, the issue seems to be my certificate.

I'm generating my csr and pem files in OS X (pem files per the instructions in the tutorial). Once I have created dev.pem I am uploading it to my hosting provider and attempting to run my php script. Is this the correct way to create and "install" the certificate?

I've run out of debugging ideas. Any direction would be great.

Path to dev.pem was incorrect on my server.

The instructions are indeed the correct way to generate the .pem file. Once created it can be used on any machine (not just the machine that generated it).