Служба push-уведомлений Apple: сертификат установить на стороне сервера? - PullRequest
8 голосов
/ 28 октября 2009

Я следовал инструкциям на Как создать сервер поставщика 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. Это правильный способ создания и «установки» сертификата?

У меня закончились идеи отладки. Любое направление было бы здорово.

Ответы [ 2 ]

8 голосов
/ 28 октября 2009

Путь к dev.pem неверен на моем сервере.

Инструкции действительно являются правильным способом создания файла .pem. После создания он может быть использован на любой машине (не только на той, на которой он создан).

1 голос
/ 08 декабря 2009

Удалось ли вам использовать тот же файл .pem на вашем сервере? И как ты сказал ... на любой машине.

Я следовал этому руководству и мог отправлять сообщения со своего компьютера (те, где был создан сертификат), но я попытался скопировать все файлы и запустить скрипт на другом компьютере, и у меня возникли те же ошибки, что и у вас .

Как вы сделали, чтобы это работало на другой машине? Вы установили .pem файл? Любой специальный конфиг?

Приветствия

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...