Создание файла .pem из pushnotification с PHP под LINUX w

Я пытаюсь реализовать push-уведомление в своем приложении, для этого я попытался использовать easyApns, я следую этим шагам и реализую классы на моем Linux. но, к сожалению, я делаю ставку на некоторые ошибки, связанные с сертификатами.

моя ошибка:

Предупреждение: stream_socket_client () [function.stream-socket-client]: операция SSL завершилась неудачно с кодом 1. OpenSSL Сообщения об ошибках: ошибка: 14094416: SSL-процедуры: SSL3_READ_BYTES: сертификат предупреждения sslv3 неизвестен в / var / www / html / apns / classes /class_APNS.php в строке 401

Предупреждение: stream_socket_client () [function.stream-socket-client]: Не удалось включить криптографию в /var/www/html/apns/classes/class_APNS.php в строке 401

Предупреждение: stream_socket_client () [function.stream-socket-client]: невозможно подключиться к ssl: //gateway.sandbox.push.apple.com: 2195 (Неизвестная ошибка) в / var / www / html / apns / classes / class_APNS.php в строке 401

Примечание. Не удалось подключиться к APNS: 0. 1) APNS :: __ construct -> Файл: apns.php (строка 50) 2) APNS :: _ fetchMessages -> Файл: class_APNS.php (строка 217) 3) APNS :: _ pushMessage -> Файл: class_APNS.php (строка 376) ) 4) APNS :: _ triggerError -> Файл: class_APNS.php (строка 405) в /var/www/html/apns/classes/class_APNS.php в строке 509

i gusse это ошибка, связанная с сертификатом (файл .pem)

мой .pem-файл сгенерирован с использованием следующей команды

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

и он был размещен на сервере (на основе Linux) и предоставлен привилегиями chmod 644

я должен делать что-то еще …..

Можете ли вы подключиться к apns, используя свой сертификат? попробуйте выполнить команду, чтобы проверить, что:

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

Если команда завершается, вы не можете подключиться. Если он продолжает работать и позволяет вам вводить в сокет, вы успешно подключились.

Я выяснил, что для работы команды необходимо:

  1. создайте запрос подписи сертификата (.csr) и загрузите его в портал apple dev
  2. загрузить предоставленную лицензию .p12
  3. преобразуйте его в файл pem с помощью сертификата + секретный ключ вашего компьютера
  4. загрузить и установить сертификат от Entrust

ссылка: https://developer.apple.com/library/ios/#technotes/tn2265/_index.html

У меня такая же проблема. Загрузили файл .p12, затем $ openssl pkcs12 -in apns-dev-cert.p12 -out apns-dev-cert.pem -nodes -clcerts, затем используя команду Nilesh: $ openssl s_client -connect gateway.sandbox.push.apple.com : 2195 -cert YourSSLCertAndPrivateKey.pem -debug -showcerts -CAfile server-ca-cert.pem, то я получаю эту ошибку

не удалось загрузить файл закрытого ключа клиента клиента 140405386606400: ошибка: 0906D06C: процедуры PEM: PEM_read_bio: нет стартовой строки: pem_lib.c: 696: Ожидание: ЛЮБОЙ ЧАСТНЫЙ КЛЮЧ

благодаря

Дважды проверьте, что раньше, чтобы создать .pem, вы правильно экспортируете элементы «2» из брелка:

Apple Development IOS Push Services + ключ имени пользователя.

Затем экспортируйте 2 элемента