Intereting Posts
Ошибка исключения PDO при подключении к microsoft azure Интеграция внешних скриптов с Zend Framework Неудачная ошибка laravel для TestCase не найдена mysql select и где над несколькими таблицами (очень сложно) Разделить на две переменные? Регулярное выражение для удаления начальных и конечных символов из строки? Apostrophe CMS: Вопросы для хостинга + возможность без участия Symfony? Вход в Facebook не перенаправляется Как сгенерировать URL-адреса перенаправления, похожие на stackoverflow с использованием .htaccess и php? многомерный для циклов в php laravel 4 Яркая нагрузка как список идентификаторов MYSQL PHP Нет выбранной базы данных – не удается найти ошибку Codeigniter перенаправляет, не сохраняя HTTPS в относительных перенаправлениях Имеет ли PHP str_replace ограничение более 13 символов? Используя PDO, действительно ли мне нужно запустить два отдельных подготовленных оператора, чтобы получить количество возвращаемых строк?

Ошибка APN в сценарии сервера

Я получаю эту ошибку в своем php-скрипте, отправляя данные полезной нагрузки.

Warning: stream_socket_client() [function.stream-socket-client]: Unable to set private key file `/Applications/XAMPP/xamppfiles/htdocs/test/apn/apns-dev.pem' in /Applications/XAMPP/xamppfiles/htdocs/test/apn/push.php on line 42 Warning: stream_socket_client() [function.stream-socket-client]: failed to create an SSL handle in /Applications/XAMPP/xamppfiles/htdocs/test/apn/push.php on line 42 Warning: stream_socket_client() [function.stream-socket-client]: Failed to enable crypto in /Applications/XAMPP/xamppfiles/htdocs/test/apn/push.php on line 42 Warning: stream_socket_client() [function.stream-socket-client]: unable to connect to ssl://gateway.sandbox.push.apple.com:2195 (Unknown error) in /Applications/XAMPP/xamppfiles/htdocs/test/apn/push.php on line 42 

Какова причина ? Нужно ли изменять какие-либо настройки? Я также установил файл .pem на сервере.

благодаря

Можете ли вы опубликовать PHP-код (push.php), который вы используете для подключения к APN?

Некоторые снимки в темноте:
– Являются ли как сертификат, так и закрытый ключ в этом файле .pem?
– Вы удалили пароль из файла секретного ключа или правильно ли задали его в своем PHP-коде?
– Имеет ли пользователь, выполняющий ваш скрипт, надлежащие разрешения unix для доступа / чтения файла сертификата / ключа?
– Можете ли вы получить доступ к серверу Apple с вашего компьютера? Вы можете протестировать, запустив telnet.

 telnet gateway.sandbox.push.apple.com 2195 

У меня была эта проблема, и процесс генерации ключей был проблемой, есть две разные команды openssl для сертификата и ключевого файла, тогда как я использовал их для обоих. Вот как я могу сгенерировать сертификат и удалить пароль из файла закрытого ключа (при условии, что вы экспортировали файлы .p12):

 openssl pkcs12 -clcerts -nokeys -out aps-dev-cert.pem -in aps-dev-cert.p12 openssl pkcs12 -nocerts -out aps-dev-key.pem -in aps-dev-key.p12 openssl rsa -in aps-dev-key.pem -out aps-dev-key.unencrypted.pem cat aps-dev-cert.pem aps-dev-key.unencrypted.pem > aps-dev.pem 

Обратите внимание на разницу в первых двух командах openssl.

У меня тоже была эта пробема. Для меня это работало после удаления явной настройки «шифрования» в параметрах ssl:

 $context_options = [ 'ssl' => [ 'local_cert' => ..., 'passphrase' => ..., 'ciphers' => 'DES-CBC3-SHA' ] ]; stream_context_set_option($stream_context, $context_options); 

поэтому после удаления строки: 'ciphers' => 'DES-CBC3-SHA' это сработало.