Я следовал инструкциям на Как создать сервер поставщика push-уведомлений Apple (учебное пособие) в попытке настроить сервер push-уведомлений.
Когда я пытаюсь подключиться с помощью следующего кода PHP
// 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);
Я получаю следующее предупреждение
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
Судя по тому, какую информацию я смог найти в Google, проблема заключается в моем сертификате.
Я создаю свои файлы csr и pem в OS X (файлы pem согласно инструкциям в руководстве). Создав dev.pem, я загружаю его на хостинг-провайдер и пытаюсь запустить скрипт php. Это правильный способ создания и «установки» сертификата?
У меня закончились идеи отладки. Любое направление было бы здорово.