Не удается подключиться к APNS :код возврата 20 (невозможно получить сертификат локального эмитента)

Я пытаюсь использовать PyAPNS для отправки push-уведомлений в приложение для iPhone. Мы прошли процесс получения сертификата из центра разработки Apple, который работает нормально; тем не менее, мы следовали нескольким различным руководствам о том, как собрать сертификат и закрытый ключ в один файл.pem, и для всех них попытка подключения к серверу APNS с помощью OpenSSL с нашего веб-сервера с использованием полученного сертификата дает эта ошибка:

$ openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert apns.pem
CONNECTED(00000003)
depth=1 C = US, O = "Entrust, Inc.", OU = www.entrust.net/rpa is incorporated by  reference, OU = "(c) 2009 Entrust, Inc.", CN = Entrust Certification Authority - L1C
verify error:num=20:unable to get local issuer certificate
verify return:0
[...certificate chain, server certificate, etc.]

Иногда мы можем что-то напечатать в конце всего этого, и соединение не закрывается, пока мы не нажмем Enter, иногда не (, оно закрывается немедленно ), но даже когда у нас появляется соединение, PyAPNS всегда терпит неудачу, когда мы пытаемся отправить push-уведомление, выдавая ошибку «Ошибка 500 :«Не удалось установить соединение с сервером APNS». сертификат эмитента" -, хотя я понятия не имею, по какой причине это может быть.

Учебники, которым мы следуем, включают:

http://blog.serverdensity.com/how-to-build-an-apple-push-notification-provider-server-tutorial/

http://www.raywenderlich.com/3443/apple-push-notification-services-tutorial-part-12

http://www.nasoni.net/2010/12/02/apns-client-development-certificate/

http://thebirdytoldmeso.com/%28S%28l131v3jmvpdh5255u1jayp20%29%29/userActions/thread/Question.aspx?id=10302792

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

Мы понятия не имеем, что происходит не так. К сожалению, все эти руководства (и Apple, по-видимому, )считают само собой разумеющимся, что вы используете Mac, в то время как я разрабатываю для Windows и сервера (, над которым я работаю ). ] — Ubuntu; мой коллега, который работает на Mac, делал различные префиксы первых шагов, прежде чем отправлять мне полученные файлы для загрузки на сервер и выполнения последних шагов. Может ли это иметь какое-то отношение к этому,как-то? Или есть этап необходимой настройки сервера, который везде пропускается?

17
задан antialiasis 16 August 2012 в 11:40
поделиться