Я получил ту же ошибку.Я много гуглю и следую всем шагам этого руководства, чтобы убедиться, что мой файл pem сгенерирован правильно: https://code.google.com/p/apns-php/wiki/CertificateCreation
, затем я запускаю команду ниже, чтобы проверить, является ли безопасная ссылка на apns правильной или нет:
openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert apns-dev-cert.pem -key apns-dev-key.pem -CApath /etc/ssl/certs/Entrust_Root_Certification_Authority.pem
Нажмите enter, и я получил это приглашение:
Enter pass phrase for apns-dev-key.pem:
, затем я понимаю, что забыл установить пароль для сертификата (в моем случае это dev.pem)
// Instantiate a new ApnsPHP_Push object
$this->push = new ApnsPHP_Push(
ApnsPHP_Abstract::ENVIRONMENT_SANDBOX,
'dev.pem'
);
// Set the Provider Certificate passphrase
$this->push->setProviderCertificatePassphrase($passphrase);
// Set the Root Certificate Autority to verify the Apple remote peer
$this->push->setRootCertificationAuthority('entrust_root_certification_authority.pem');
// Connect to the Apple Push Notification Service
$this->push->connect();
// Instantiate a new Message with a single recipient
$this->message = new ApnsPHP_Message($deviceToken);
установить правильную фразу-пароль для apns pem, проблема решена.