2016-02-16 5 views
2

У меня есть веб-сайт, который использует push-уведомления для браузера Safari. Он работал отлично до недавнего времени, когда я начал получать сообщение о том,Проблема с сертификатом push-уведомлений Safari

Подпись проверка нажимной пакета не удалось

Я считаю, что это связано с недавним истечения срока действия сертификата Apple, WWDRCA и теперь пытается установить их новый сертификат в систему. Их документы говорят, что

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

Поэтому мой вопрос заключается в том, как сообщить этой функции использовать этот новый сертификат, а другой - установить его сертификат в мою Linux-систему, на которой запущен Apache. Я не уверен, что в нем установлен предыдущий сертификат. Спасибо

+0

где вы видите сообщение об ошибке «Ошибка подтверждения подписи пакета push»? У меня есть некоторые проблемы, но я не знаю, где такие сообщения отладки отображаются. Они не отображаются в консоли javascript – SteMa

ответ

6

Спасибо всем,

удалось решить проблему путем добавления яблочного WWDRCA новый сертификат в качестве последнего параметра не openssl_pkcs7_sign

openssl_pkcs7_sign("$package_dir/manifest.json", $signature_path, $cert_data, $private_key, array(), PKCS7_BINARY | PKCS7_DETACHED,"/path/to/certificate/AppleWWDRCA.pem"); 

Без дополнительной работы требуется. Обратите внимание, что файл должен быть преобразован из .cer в .pem вручную.

Я думаю, что это должно быть указано где-то в документах более четко.

+0

Как вы конвертируете его из cer в pem? Я использую keychain и терпит неудачу. –

+1

Я использую следующую команду: 'openssl x509 -in your_cert.cer -inform der -out conversion_cert.pem', как описано в [link] (http://www.raywenderlich.com/32960/apple-push-notification-services -in-ios-6-tutorial-part-1) – Jack

+0

@Jack Привет, Джек, я постоянно получаю сообщение об ошибке «Подтверждение подтверждения отказа пакета». Применение вашего решения дает мне ошибку «Отсутствует файл в пакете push-уведомлений»! Не могли бы вы мне помочь! – Mehdi