मैं आईफोन ऐप पर पुश सूचनाएं भेजने के लिए पीईएपीएनएस का उपयोग करने की कोशिश कर रहा हूं। हम एप्पल देव केंद्र से प्रमाण पत्र प्राप्त करने की प्रक्रिया से गुज़र चुके हैं, जो ठीक काम करता है; हालांकि, हमने प्रमाण पत्र और निजी कुंजी को एक .pem फ़ाइल में कैसे रखा जाए, इसके लिए हमने कई अलग-अलग ट्यूटोरियल का पालन किया है, और उन सभी के लिए, परिणामस्वरूप प्रमाणपत्र का उपयोग करके हमारे वेब सर्वर से ओपनएसएसएल का उपयोग करके एपीएनएस सर्वर से कनेक्ट करने का प्रयास कर रहा है इस त्रुटि:एपीएनएस से कनेक्ट नहीं हो सकता: रिटर्न कोड 20 (स्थानीय जारीकर्ता प्रमाणपत्र प्राप्त करने में असमर्थ)
$ 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 दबाएँ, कभी कभी नहीं (इसे तुरंत बंद कर देता है) करता है, लेकिन जब भी हम करने के लिए प्रकट एक कनेक्शन है, जब हम पुश अधिसूचना भेजने की कोशिश करते हैं तो पीएपीएएनएनएस हमेशा विफल रहता है, त्रुटि को "दोष 500:" एपीएनएस सर्वर से कनेक्शन नहीं बनाया जा सका। '", जिसे मैं केवल मान सकता हूं, उसी कारण से" स्थानीय जारीकर्ता प्रमाण पत्र प्राप्त करने में असमर्थ "- हालांकि मुझे नहीं पता कि इसका क्या कारण हो सकता है।
ट्यूटोरियल हम निम्नलिखित किया गया है शामिल हैं:
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/
हाँ, हम निजी कुंजी और इसे से पासवर्ड को दूर कर दिया है जब हम सह करने की कोशिश करते हैं तो इसके लिए नहीं पूछते हैं OpenSSL के साथ कनेक्ट करें, तो संभवतः वह हिस्सा ठीक काम कर रहा है।
हमें कोई जानकारी नहीं है कि क्या गलत हो रहा है। अफसोस की बात यह है कि, इन सभी ट्यूटोरियल (और ऐप्पल, स्पष्ट रूप से) एक मैक का उपयोग कर रहे हैं, जबकि मैं विंडोज़ और सर्वर पर विकसित कर रहा हूं (जिसे मैं काम कर रहा हूं) उबंटू है; मेरे सहकर्मी जो मैक पर हैं, सर्वर पर अपलोड करने और अंतिम चरण करने के लिए मुझे परिणामस्वरूप फाइल भेजने से पहले पहले चरण के विभिन्न उपसर्ग कर रहे हैं। क्या इसका कोई संबंध नहीं हो सकता है, किसी भी तरह? या क्या आवश्यक सर्वर सेटअप का एक कदम है जिसे हर जगह छोड़ा जा रहा है?
आप के साथ कुंजी निर्यात किया प्रमाण पत्र? आमतौर पर यह पहली समस्या है –
गेटवे.sandbox.push.apple.com से कनेक्ट करते समय ["त्रुटि त्रुटि: num = 20" का संभावित डुप्लिकेट] (http://stackoverflow.com/q/23343910)। – jww