Apple पुश सूचनाएँ सेट करने के लिए .pem फ़ाइल का उपयोग करें


290

मैंने कोशिश की और हर बार क्लाइंट के अकाउंट से सर्टिफिकेट जेनरेट करने और .pem फाइल को टर्मिनल का उपयोग कर जेनरेट करने की कोशिश की, लेकिन इसका कोई फायदा नहीं हुआ। क्या कोई चरण-दर-चरण प्रक्रिया दे सकता है?

जवाबों:


936

अपने iOS ऐप के लिए पुश नोटिफिकेशन को सक्षम करने के लिए, आपको हमें Apple पुश नोटिफिकेशन सर्टिफिकेट (.pem फ़ाइल) बनाने और अपलोड करने की आवश्यकता होगी ताकि हम आपकी ओर से Apple पुश सर्वर से कनेक्ट कर पाएंगे।

( अपडेटेड स्क्रीन शॉट्स के साथ अपडेट किया गया संस्करण यहां )

चरण 1: iOS प्रोविजनिंग पोर्टल में लॉगिन करें, बाईं नेविगेशन पट्टी पर "प्रमाण पत्र" पर क्लिक करें। फिर, "+" बटन पर क्लिक करें।

यहां छवि विवरण दर्ज करें

चरण 2: वितरण अनुभाग के तहत Apple पुश अधिसूचना सेवा एसएसएल (उत्पादन) विकल्प चुनें, फिर "जारी रखें" बटन पर क्लिक करें।

यहां छवि विवरण दर्ज करें

चरण 3: अपने BYO ऐप (How to Create An App ID) के लिए आप जिस ऐप आईडी का उपयोग करना चाहते हैं, उसका चयन करें, फिर अगले चरण पर जाने के लिए "जारी रखें" पर क्लिक करें।

यहां छवि विवरण दर्ज करें

चरण 4: प्रमाणपत्र साइनिंग अनुरोध बनाने के लिए "सर्टिफ़िकेट साइनिंग अनुरोध बनाने (CSR) के बारे में" चरणों का पालन करें।

यहां छवि विवरण दर्ज करें

ऐप्पल द्वारा दिए गए निर्देश के पूरक के लिए। आवश्यक चरणों को पूरा करने में आपकी सहायता करने के लिए यहां कुछ अतिरिक्त स्क्रीनशॉट दिए गए हैं:

चरण 4 अनुपूरक स्क्रीनशॉट 1: अपने मैक पर किचेन एक्सेस के प्रमाणपत्र सहायक पर नेविगेट करें।

यहां छवि विवरण दर्ज करें

चरण 4 अनुपूरक स्क्रीनशॉट 2: प्रमाणपत्र जानकारी भरें। जारी रखें पर क्लिक करें।

यहां छवि विवरण दर्ज करें

चरण 5: ".certSigningRequest" फ़ाइल अपलोड करें जो चरण 4 में उत्पन्न हुई है, फिर "जनरेट" बटन पर क्लिक करें।

यहां छवि विवरण दर्ज करें

चरण 6: पंजीकरण समाप्त करने के लिए "संपन्न" पर क्लिक करें, iOS प्रोविजनिंग पोर्टल पेज ताज़ा हो जाएगा जो निम्न स्क्रीन की तरह दिखता है:

यहां छवि विवरण दर्ज करें

उसके बाद आपके द्वारा अभी बनाया गया प्रमाणपत्र (.cer फ़ाइल) डाउनलोड करने के लिए "डाउनलोड" बटन पर क्लिक करें। - अपने मैक पर कीचेन एक्सेस में प्रमाणपत्र स्थापित करने के लिए डाउनलोड की गई फ़ाइल को डबल क्लिक करें।

चरण 7: अपने मैक पर, "कीचेन" पर जाएं, उस प्रमाणपत्र की तलाश करें जिसे आपने अभी स्थापित किया है। यदि अनिश्चित है कि कौन सा प्रमाण पत्र सही है, तो इसे "ऐप्पल प्रोडक्शन आईओएस पुश सर्विसेज:" से शुरू करना चाहिए और उसके बाद आपके ऐप की बंडल आईडी।

यहां छवि विवरण दर्ज करें

चरण 8: प्रमाण पत्र का विस्तार करें, आपको अपने नाम या अपनी कंपनी के नाम के साथ निजी कुंजी को देखना चाहिए। अपने कीबोर्ड पर "सेलेक्ट" कुंजी का उपयोग करके दोनों आइटम का चयन करें, राइट क्लिक करें (या यदि आप एक बटन माउस का उपयोग करते हैं तो cmd-click), नीचे "निर्यात 2 आइटम" चुनें:

यहां छवि विवरण दर्ज करें

फिर अपने डेस्कटॉप पर p12 फ़ाइल को "pushcert.p12" नाम से सहेजें - अब आपको इसे संरक्षित करने के लिए एक पासवर्ड दर्ज करने के लिए कहा जाएगा, आप पासवर्ड को छोड़ या अपनी इच्छा के अनुसार एक पासवर्ड दर्ज करने के लिए या तो क्लिक कर सकते हैं।

चरण 9: अब सबसे मुश्किल हिस्सा है - अपने मैक पर "टर्मिनल" खोलें, और निम्नलिखित कमांड चलाएं:

cd
cd Desktop
openssl pkcs12 -in pushcert.p12 -out pushcert.pem -nodes -clcerts

चरण 10: अपने खुद के क्षेत्र का निर्माण करने के लिए गलत अपलोड से बचने के लिए डेस्कटॉप से ​​pushcert.p12 निकालें। अपने मैक पर "टर्मिनल" खोलें, और निम्नलिखित कमांड चलाएं:

cd
cd Desktop
rm pushcert.p12

चरण 11 - नई एडब्ल्यूएस अद्यतन: pushcert.p12एडब्ल्यूएस एसएनएस में जमा करने के लिए नया बनाएं । नए पर डबल क्लिक करें pushcert.pem, फिर हरे रंग पर केवल एक हाइलाइज्ड निर्यात करें।

यहां छवि विवरण दर्ज करें क्रेडिट: AWS नया अपडेट

अब आपने सफलतापूर्वक Apple Push Notification Certificate (.p12 फ़ाइल) बनाया है! आपको बाद में इस फाइल को हमारे बिल्ड योर ओन एरिया में अपलोड करना होगा। :)


11
ऐसा लगता है कि आप अब किचेन से सीधे PEM फ़ाइल (चरण 8-10) में निर्यात कर सकते हैं।
काइल क्लेग

10
@KyleClegg: कैसे?
यूजीन

3
"बिल्ड योर ओन" क्षेत्र क्या है और हमें इसके लिए पेम फ़ाइल क्यों अपलोड करनी है?
रफ़ी

1
इंटरनेट पर ये सभी उत्तर वास्तविक प्रश्न की लगातार अनदेखी करते हैं, क्योंकि 'बिल्ड योर ओन' क्या है? यदि आप Xcode का उपयोग करते हैं तो आप इस PEM को कहां अपलोड करते हैं?
रॉबर्टीबेक

1
मेरे मामले में, मुझे p12 सर्टिफिकेट से दो पीएम फाइल बनाने की जरूरत थी। बस निर्यात 2 वस्तुओं के बजाय किचेन पहुंच में क्रमशः प्रमाण पत्र और कुंजी फ़ाइल निर्यात करें। लेकिन यह जवाब निश्चित रूप से भयानक है!
वेई

79

आज बहुत सरल उपाय है - पेम । यह उपकरण जीवन को बहुत आसान बनाता है।

उदाहरण के लिए, अपने पुश अधिसूचना प्रमाण पत्र को केवल बनाने या नवीनीकृत करने के लिए:

fastlane pem 

और यह एक मिनट के भीतर हो गया। यदि आपको सैंडबॉक्स प्रमाणपत्र की आवश्यकता है, तो दर्ज करें:

fastlane pem --development

और यह बहुत अच्छा है।


9
और केवल पीईएम नहीं है। संपूर्ण उपवास उपकरण निरपेक्ष शानदार है
बेंजामिन

क्या यह गैर-सेब प्रणालियों के लिए भी उपलब्ध है?
बारजोर

@ KrauseFx, अगर मैं इसे pem के माध्यम से उत्पन्न करता हूं, तो मैं इसे यहां कैसे दिखाऊंगा: developer.apple.com/account/ios/certificate ? मुझे यह नवीनतम समाप्ति तिथि आदि देखने के लिए काफी उपयोगी लगता है? क्या यह कुछ ऐसा है जो स्वचालित रूप से होता है?
आयनिकबर्गर

1
@ नोइकोला iTunes पर कोई कार्रवाई की आवश्यकता नहीं है, आप उस
पेम

1
@ mikejd को हमें यह निर्दिष्ट करने की आवश्यकता नहीं है कि p12 का उपयोग pem के लिए किस प्रकार किया जाना चाहिए?
मौलिक

10
$ cd Desktop
$ openssl x509 -in aps_development.cer -inform der -out PushChatCert.pem

क्या यह काम करता है? मैंने इस विधि का उपयोग करते हुए विंडोज़ 10 पर एक पीईएम फ़ाइल बनाई, लेकिन मुझे "ssl: \ / \ / Gateway.sandbox.push.apple.com से कनेक्ट करने में असमर्थ" तब मिला जब मैं पुश सूचनाएँ भेजने के लिए उत्पन्न पेम का उपयोग करता हूं।
अरिवन बस्तोस

3

Apple ने जारी किए गए प्रमाण पत्र का नाम बदल दिया है। अब आप विकास और उत्पादन दोनों के लिए एक ही प्रमाणपत्र का उपयोग कर सकते हैं। जब आप अभी भी एक विकास केवल प्रमाण पत्र का अनुरोध कर सकते हैं, तो आप केवल उत्पादन प्रमाणपत्र का अनुरोध नहीं कर सकते।

कृपया नीचे देखें


1

Cert.p12 और key.p12 को निर्यात करने के बाद यह बहुत सरल है, कृपया 'apns' .pem फ़ाइल बनाने के लिए नीचे दिए गए आदेश को देखें।

https://www.sslshopper.com/ssl-converter.html

command to create apns-dev.pem from Cert.pem and Key.pem

    

openssl rsa -in Key.pem -out apns-dev-key-noenc.pem

    

cat Cert.pem apns-dev-key-noenc.pem > apns-dev.pem

सैंडबॉक्स और प्रोडक्शन दोनों के लिए उपरोक्त कमांड उपयोगी है।


1

समस्या निवारण के अनुसार पुश प्रमाणपत्र समस्याएँ

आपके Apple डेवलपर प्रोग्राम खाते में उपलब्ध SSL प्रमाणपत्र में एक सार्वजनिक कुंजी है, लेकिन एक निजी कुंजी नहीं है। निजी कुंजी केवल मैक पर मौजूद है जिसने Apple पर अपलोड किए गए प्रमाणपत्र हस्ताक्षर अनुरोध को बनाया है। गोपनीयता बढ़ाने वाली मेल (PEM) फ़ाइल को निर्यात करने के लिए सार्वजनिक और निजी दोनों कुंजियाँ आवश्यक हैं।

संभावना यह है कि आप क्लाइंट द्वारा प्रदान किए गए प्रमाण पत्र से एक काम कर रहे पीईएम को निर्यात नहीं कर सकते हैं, आपके पास निजी कुंजी नहीं है। प्रमाणपत्र में सार्वजनिक कुंजी होती है, जबकि निजी कुंजी संभवतः केवल उस मैक पर मौजूद होती है जिसने मूल CSR बनाया था।

आप या तो यह कर सकते हैं:

  1. मैक से निजी कुंजी प्राप्त करने का प्रयास करें जो मूल रूप से सीएसआर बनाता है। पीईएम का निर्यात उस मैक से किया जा सकता है या आप निजी कुंजी को दूसरे मैक पर कॉपी कर सकते हैं।

या

  1. एक नया CSR, नया SSL प्रमाणपत्र बनाएं, और इस बार निजी कुंजी का बैकअप लें।

0

धन्यवाद! उपरोक्त सभी उत्तरों के लिए। मुझे उम्मीद है कि आपके पास .p12 फ़ाइल है। अब, कमांड के बाद ओपन टर्मिनल राइट। पथ को उस पथ पर सेट करें जहाँ आपने .12 फ़ाइल रखी है।

$ openssl pkcs12 -in yourCertifcate.p12 -out pemAPNSCert.pem -nodes
Enter Import Password: <Just enter your certificate password>
MAC verified OK

अब आपकी .pem फ़ाइल उत्पन्न हो गई है।

.Pem फ़ाइल सत्यापित करें। सबसे पहले, इसकी सामग्री को देखने के लिए एक पाठ संपादक में .pem खोलें। प्रमाणपत्र सामग्री प्रारूप में होनी चाहिए जैसा कि नीचे दिखाया गया है। सुनिश्चित करें कि पेम फ़ाइल में सर्टिफिकेट कंटेंट (BEGIN CERTIFICATE से END CERTIFICATE तक) और साथ ही सर्टिफिकेट प्राइवेट की (BEGIN PRIVATE KEY से END PRIVATE KEY) दोनों शामिल हैं:

> Bag Attributes
>     friendlyName: Apple Push Services:<Bundle ID>
>     localKeyID: <> subject=<>
> -----BEGIN CERTIFICATE-----
> 
> <Certificate Content>
> 
> -----END CERTIFICATE----- Bag Attributes
>     friendlyName: <>
>     localKeyID: <> Key Attributes: <No Attributes>
> -----BEGIN PRIVATE KEY-----
> 
> <Certificate Private Key>
> 
> -----END PRIVATE KEY-----

इसके अलावा, आप प्रमाण पत्र की वैधता की जाँच SSLShopper प्रमाणपत्र विकोडक पर जाकर करते हैं और नीचे दिखाए अनुसार प्रमाण पत्र के बारे में सभी जानकारी प्राप्त करने के लिए प्रमाणपत्र सामग्री (BEGIN प्रमाण पत्र से END प्रमाण पत्र तक) को चिपकाएँ:

यहां छवि विवरण दर्ज करें

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.