APNS के लिए .pem फ़ाइल बनाना?


177

मैं APN पेलोड डेटा के लिए होस्टिंग सर्वर में संग्रहीत करने के लिए एक .pem फ़ाइल कैसे बनाऊं?


1
क्या मैं .pem के बजाय एपन के लिए .p12 का उपयोग कर सकता हूं?
गजेंद्र के चौहान

.Pem के सूचनार्थ परिभाषा: serverfault.com/a/21158/193377 उस पर पीईएम खुद है, एक प्रमाण पत्र नहीं है यह सिर्फ डेटा एन्कोडिंग का एक तरीका है। .... यह एक ईमेल संदेश के शरीर में पेस्ट करने के लिए सुरक्षित है क्योंकि इसमें लंगर लाइनें हैं और 7-बिट साफ है।
ऐनीअगिले सेप

जवाबों:


365

यहाँ मैं क्या किया है, से: blog.boxedice.com और "iPhone उन्नत परियोजनाओं" अध्याय 10 byJoe Pezzillo।

चाबी का गुच्छा में aps_developer_identity.cer के साथ:

  1. अपने स्थानीय मैक से और प्रवेश किचेन से कीचेन एक्सेस लॉन्च करें, प्रमाणपत्र श्रेणी द्वारा फ़िल्टर करें। आपको "Apple विकास पुश सेवाएँ" नामक एक विस्तार योग्य विकल्प दिखाई देगा
  2. "Apple विकास पुश सेवाएँ"> निर्यात "Apple विकास पुश सेवाएँ ID123" पर राइट क्लिक करें। इसे apns-dev-cert.p12फ़ाइल के रूप में सहेजें कहीं आप इसे एक्सेस कर सकते हैं। पासवर्ड दर्ज करने की कोई आवश्यकता नहीं है।
  3. अगला कमांड PEM प्रारूप के लिए मैक के टर्मिनल में सर्टिफिकेट बनाता है (गोपनीयता वर्धित मेल सुरक्षा प्रमाणपत्र):

    openssl pkcs12 -in apns-dev-cert.p12 -out apns-dev-cert.pem -nodes -clcerts

सर्वर पर chmod 400 का उपयोग करके इस अनएन्क्रिप्टेड कुंजी की फ़ाइल अनुमति सेट करें।


3
मैंने उपरोक्त चरणों का पालन किया है और अब इसके काम कर रहा हूँ। मैंने अपने स्थानीय वेब सर्वर (Xampp) पर प्रमाण पत्र और php स्क्रिप्ट को रखा है। मैं डिवाइस टोकन प्राप्त करने में सक्षम हूं, और मैं इसका उपयोग php स्क्रिप्ट में कर रहा हूं। Php स्क्रिप्ट पेलोड डेटा को जोड़ने और भेजने में सक्षम है। लेकिन फिर भी मैं PUSH अधिसूचना प्राप्त करने में सक्षम नहीं हूं। समस्या क्या है ? क्या सूचनाओं को पहुंचने में समय लगता है ???
बिरंची

12
मावेरिक्स पर (10.9) कीचेन एक्सेस, .pem के रूप में निर्यात करने का विकल्प है! बस "एप्पल विकास / उत्पादन आईओएस कीचेन पहुंच की पुश सेवा प्रमाण पत्र के अंदर पर राइट क्लिक करें और निर्यात करने के लिए इसे चुनें बदलें .pem लिए फ़ाइल स्वरूप - किया इसके अलावा निर्यात विकल्प के रूप में उपलब्ध:।! .P7b और .p12
tylerl

5
.pem मेरे लिए अक्षम है, yosemite Beta7। मुझे कुछ समस्याएँ पैदा हो रही हैं। pem, जब मैं इसे खोलता हूँ तो यह कहती है कि वितरण के बजाय dev है
Cristi Bălu'ă

2
.pem मेरे लिए अक्षम नहीं है, लेकिन मैं p12 के रूप में सहेजने में असमर्थ हूं। यह इस प्रकार दिखता है: i.imgur.com/U2M40dU.png
FooBar

2
किचेन एक्सेस ऐप का उपयोग करते हुए macOS 10.14 Mojave के लिए आप अपनी "Apple Push Services: com.yourBundleIdentifier certificate" को फाइल फॉर्मेट "प्राइवेसी एनहांस्ड मेल (.pem)" में चुन सकते हैं और जब चाहें तब सेव कर सकते हैं।
5uper_0leh

226

विकास का चरण:

चरण 1: सर्टिफिकेट .pem सर्टिफिकेट .p12 से बनाएं
openssl pkcs12 -clcerts -nokeys -out apns-dev-cert.pem -in apns-dev-cert.p12

चरण 2: कुंजी से .pem बनाएँ ।p12 से
openssl pkcs12 -nocerts -out apns-dev-key.pem -in apns-dev-key.p12

चरण 3 (वैकल्पिक): यदि आप दूसरे चरण में पूछे गए पास वाक्यांश को हटाना चाहते हैं
openssl rsa -in apns-dev-key.pem -out apns-dev-key-noenc.pem

चरण 4: अब हमें विकास .pem और प्रमाणपत्र प्राप्त करना है।

यदि तीसरा चरण निष्पादित किया गया था, तो चलाएं:
cat apns-dev-cert.pem apns-dev-key-noenc.pem > apns-dev.pem

यदि तीसरा चरण प्रदर्शन नहीं किया गया था , तो चलाएं:
cat apns-dev-cert.pem apns-dev-key.pem > apns-dev.pem

चरण 5: प्रमाणपत्र की वैधता और APNS से ​​कनेक्टिविटी की जाँच करें

यदि तीसरा चरण निष्पादित किया गया था, तो चलाएं:
openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert apns-dev-cert.pem -key apns-dev-key-noenc.pem

यदि तीसरा चरण प्रदर्शन नहीं किया गया था , तो चलाएं:
openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert apns-dev-cert.pem -key apns-dev-key.pem

उत्पादन चरण:

चरण 1: सर्टिफिकेट .pem सर्टिफिकेट .p12 से बनाएं
openssl pkcs12 -clcerts -nokeys -out apns-pro-cert.pem -in apns-pro-cert.p12

चरण 2: कुंजी से .pem बनाएँ ।p12 से
openssl pkcs12 -nocerts -out apns-pro-key.pem -in apns-pro-key.p12

चरण 3 (वैकल्पिक): यदि आप दूसरे चरण में पूछे गए पास वाक्यांश को हटाना चाहते हैं
openssl rsa -in apns-pro-key.pem -out apns-pro-key-noenc.pem

चरण 4: अब हमें उत्पादन प्राप्त करने के लिए की .pem और प्रमाणपत्र .pem को मर्ज करना होगा।

यदि तीसरा चरण निष्पादित किया गया था, तो चलाएं:
cat apns-pro-cert.pem apns-pro-key-noenc.pem > apns-pro.pem

यदि तीसरा चरण प्रदर्शन नहीं किया गया था , तो चलाएं:
cat apns-pro-cert.pem apns-pro-key.pem > apns-pro.pem

चरण 5: प्रमाणपत्र की वैधता और APNS से ​​कनेक्टिविटी की जाँच करें।

यदि तीसरा चरण निष्पादित किया गया था, तो चलाएं:
openssl s_client -connect gateway.push.apple.com:2195 -cert apns-pro-cert.pem -key apns-pro-key-noenc.pem

यदि तीसरा चरण प्रदर्शन नहीं किया गया था , तो चलाएं:
openssl s_client -connect gateway.push.apple.com:2195 -cert apns-pro-cert.pem -key apns-pro-key.pem


5
धन्यवाद, यह केवल यहाँ है कि मेरे लिए काम किया है।
एरिक विलेगस

6
मेरे कीमती तिजोरी में इसे बचाया! : पी महानतम उत्तर कभी !!
काला

3
आप एक भगवान हैं यह काम करता है धन्यवाद। UP VOTE इसका उत्तर होना चाहिए क्योंकि यह गहराई से जाता है कि इसे कैसे कदम से कदम बनाया जाए
MNM

2
निश्चित रूप से यह स्वीकृत उत्तर होना चाहिए क्योंकि @Rahul शर्मा के उत्तर ने अपेक्षित परिणाम नहीं दिया, जबकि यह उत्तर एकदम सही था।
Nowdeen

धन्यवाद आपने प्रमाणपत्र वैधता की जांच करने के लिए मेरे घंटे बचाए। यह @Biranchi
सौरभ शर्मा

59

कदम:

  1. कुंजी श्रृंखला पहुंच का उपयोग करके एक सीएसआर बनाएं
  2. निजी कुंजी का उपयोग करके कुंजी श्रृंखला एक्सेस का उपयोग करके एक P12 बनाएं
  3. APNS ऐप आईडी और प्रमाण पत्र

यह आपको तीन फाइलें देता है:

  • सीएसआर
  • P12 फ़ाइल के रूप में निजी कुंजी (PushChatKey.p12 )
  • एसएसएल प्रमाणपत्र, aps_development.cer

उस फ़ोल्डर पर जाएं जहां आपने फ़ाइलें डाउनलोड की हैं, मेरे मामले में डेस्कटॉप:

$ cd ~/Desktop/

एक .pem फ़ाइल में .cer फ़ाइल को कनवर्ट करें:

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

निजी कुंजी की .p12 फ़ाइल को .pem फ़ाइल में बदलें:

$ openssl pkcs12 -nocerts -out PushChatKey.pem -in PushChatKey.p12

आयात पासवर्ड दर्ज करें:

MAC verified OK Enter PEM pass phrase: Verifying - Enter PEM pass phrase:

आपको पहले .p12 फ़ाइल के लिए पासफ़्रेज़ दर्ज करने की आवश्यकता है ताकि ओपनसेल इसे पढ़ सके। फिर आपको एक नया पासफ़्रेज़ दर्ज करने की आवश्यकता है जिसका उपयोग पीईएम फ़ाइल को एन्क्रिप्ट करने के लिए किया जाएगा। इस ट्यूटोरियल के लिए मैंने PEM पासफ़्रेज़ के रूप में "पुशचैट" का उपयोग किया। आपको कुछ अधिक सुरक्षित चुनना चाहिए। नोट: यदि आप PEM पासफ़्रेज़ दर्ज नहीं करते हैं, तो Opensl कोई त्रुटि संदेश नहीं देगा, लेकिन उत्पन्न। Pem फ़ाइल में निजी कुंजी नहीं होगी।

अंत में, प्रमाणपत्र और कुंजी को एक। Pem फ़ाइल में संयोजित करें:

$ cat PushChatCert.pem PushChatKey.pem > ck.pem


22

टर्मिनल एप्लिकेशन लॉन्च करें और प्रॉम्प्ट के बाद निम्नलिखित कमांड दर्ज करें

  openssl pkcs12 -in CertificateName.p12 -out CertificateName.pem -nodes

1
आपके द्वारा p12 जनरेट करने के बाद, यह उत्तर होना चाहिए।
स्टोन

10

- >> एप्पल का अपना ट्यूटोरियल << - निर्देशों का एकमात्र काम कर रहा है जो मैं भर में आया हूं। यह सीधे आगे है और मैं यह पुष्टि कर सकता हूं कि यह एक linux php सर्वर और एक विंडोज़ php सर्वर दोनों पर शानदार ढंग से काम करता है।

आप पृष्ठ के निचले भाग में उनकी 5-चरणीय पेम निर्माण प्रक्रिया पा सकते हैं।


हाँ! बस सरल ट्यूटोरियल का पालन करें। सिर्फ एक सरल ओपनसेल कमांड। मुझे नहीं पता कि यह मायने रखता है, लेकिन मैं SSH'ing द्वारा कमांड को उस सर्वर में चलाता हूं जो APNS से ​​कनेक्ट हो रहा है।
7

1
@tylerl, PEM को किसी भी मशीन से उत्पन्न किया जा सकता है - इसमें सर्वर नहीं होना चाहिए, जिसमें यह निवास करेगा।
कैपिकॉ

क्या मुझे इस प्रक्रिया को सर्वर पर चलाने की आवश्यकता है जहां php कोड तैनात है? या मैं अपने मैक से उत्पन्न .Pem फ़ाइल का उपयोग कर सकता हूं?
जतिन



4

आप यहां देख सकते हैं। मेरे पास विस्तृत प्रक्रिया है जो चित्रों के साथ है, जो कि प्रमाण पत्र बनाने से लेकर, प्रोविजनिंग प्रोफाइल की कुंजी, अंततः पेम तक है। http://docs.moengage.com/docs/apns-certificate-pem-file


4

नोट: आपके पास इनमें से कोई भी कार्य करने के लिए ऐप स्टोर कनेक्ट में टीम एजेंट या व्यवस्थापक की भूमिका होनी चाहिए। यदि आप ऐप स्टोर में एक टीम का हिस्सा नहीं हैं, तो यह संभवत: आपको प्रभावित नहीं करता है।

IOS एप्लिकेशन को पुश नोटिफिकेशन भेजने के लिए एनकाउंटर कीज बनाने की जरूरत होती है। अतीत में यह एक बोझिल प्रक्रिया थी जिसमें एसएसएल कुंजी और प्रमाणपत्र का उपयोग किया जाता था। प्रत्येक एसएसएल प्रमाणपत्र एक एकल आईओएस एप्लिकेशन के लिए विशिष्ट था। 2016 में Apple ने एक नया प्रमाणीकरण कुंजी तंत्र पेश किया जो अधिक विश्वसनीय और उपयोग करने में आसान है। नई प्रमाणीकरण कुंजी अधिक लचीली हैं, जो iOS ऐप पर बनाए रखने के लिए सरल और सरल हैं।

हालांकि यह साल हो गया है क्योंकि प्रमाणीकरण कुंजियों को पेश किया गया था न कि हर सेवा उनका समर्थन करती है। FireBase और Amazon Pinpoint प्रमाणीकरण कुंजी का समर्थन करते हैं। अमेज़ॅन एसएनएस, अर्बन एयरशिप, ट्विलियो और लीनप्लम नहीं। कई खुले स्रोत सॉफ़्टवेयर पैकेज अभी तक प्रमाणीकरण कुंजियों का समर्थन नहीं करते हैं।

आवश्यक SSL प्रमाणपत्र बनाने के लिए और इसे PEM फ़ाइल के रूप में निर्यात करें जिसमें सार्वजनिक और निजी कुंजियाँ हों:

  1. प्रमाणपत्र, पहचानकर्ता और प्रोफाइल पर नेविगेट करें
  2. अपनी ऐप आईडी बनाएं या संपादित करें।
  3. ऐप आईडी के लिए पुश नोटिफिकेशन सक्षम करें
  4. ऐप आईडी में एक SSL प्रमाणपत्र जोड़ें
  5. प्रमाणपत्र को PEM प्रारूप में कनवर्ट करें

यदि आपके पास पहले से ऐप्पल डेवलपर केंद्र वेबसाइट में ऐप के लिए एसएसएल प्रमाणपत्र स्थापित है तो आप प्रमाणपत्र को पीईएम प्रारूप में कनवर्ट करने के लिए आगे छोड़ सकते हैं। ध्यान रखें कि आप समस्या में पड़ जाएगा यदि आप नहीं करते भी निजी कुंजी है कि मैक पर कि हस्ताक्षर अनुरोध है कि एप्पल पर अपलोड किया गया बनाई उत्पन्न की गई है।

यह देखने के लिए पढ़ें कि उस निजी कुंजी को ट्रैक करने से कैसे बचें।

प्रमाणपत्र, पहचानकर्ता और प्रोफाइल पर नेविगेट करें

Xcode पुश सूचनाओं के लिए प्रमाण पत्र या कुंजी को नियंत्रित नहीं करता है। चाबियाँ बनाने और ऐप के लिए पुश नोटिफिकेशन को सक्षम करने के लिए आपको ऐप्पल डेवलपर सेंटर की वेबसाइट पर जाना होगा। आपके खाते का प्रमाणपत्र, पहचानकर्ता और प्रोफ़ाइल अनुभाग ऐप आईडी और प्रमाणपत्रों को नियंत्रित करता है।

प्रमाण पत्र और प्रोफाइल तक पहुँचने के लिए आपके पास या तो भुगतान किया गया Apple डेवलपर प्रोग्राम सदस्यता होना चाहिए या ऐसा करने वाली टीम का हिस्सा होना चाहिए।

  1. Apple डेवलपर वेबसाइट पर लॉग इन करें यहां छवि विवरण दर्ज करें
  2. खाते में जाएं , फिर प्रमाण पत्र, पहचानकर्ता और प्रोफाइल यहां छवि विवरण दर्ज करें

एक ऐप आईडी बनाएं

पुश नोटिफिकेशन का उपयोग करने वाले ऐप वाइल्डकार्ड ऐप आईडी या प्रोविजनिंग प्रोफाइल का उपयोग नहीं कर सकते हैं। प्रत्येक एप्लिकेशन को पुश सूचनाओं को सक्षम करने के लिए आपको ऐप्पल डेवलपर केंद्र पोर्टल में एक ऐप आईडी रिकॉर्ड स्थापित करने की आवश्यकता होती है।

  1. आइडेंटिफायर के तहत ऐप आईडी पर जाएं
  2. बंडल पहचानकर्ता का उपयोग करके अपने ऐप को खोजें। यह पहले से मौजूद हो सकता है।
  3. अगर ऐप के लिए कोई मौजूदा ऐप आईडी नहीं है तो इसे बनाने के लिए (+) बटन पर क्लिक करें।
  4. ऐप आईडी प्रत्यय अनुभाग में स्पष्ट ऐप आईडी चुनें । यहां छवि विवरण दर्ज करें
  5. एप्लिकेशन के लिए बंडल पहचानकर्ता दर्ज करें।
  6. नीचे स्क्रॉल करें और पुश सूचनाएँ सक्षम करेंयहां छवि विवरण दर्ज करें
  7. जारी रखें पर क्लिक करें ।
  8. अगली स्क्रीन पर App ID बनाने के लिए रजिस्टर पर क्लिक करें । यहां छवि विवरण दर्ज करें

ऐप आईडी के लिए पुश नोटिफिकेशन सक्षम करें

  1. आइडेंटिफायर के तहत ऐप आईडी पर जाएं
  2. विवरण देखने के लिए ऐप आईडी पर क्लिक करें और नीचे स्क्रॉल करें। यहां छवि विवरण दर्ज करें
  3. संपादित करें पर क्लिक करें यहां छवि विवरण दर्ज करें
  4. ऐप आईडी सेटिंग्स स्क्रीन में पुश नोटिफिकेशन को नीचे स्क्रॉल करें यहां छवि विवरण दर्ज करें
  5. पुश सूचनाओं को सक्षम करने के लिए चेकबॉक्स का चयन करें। यहां छवि विवरण दर्ज करें

पुश सूचनाओं के लिए एसएसएल प्रमाणपत्र बनाना कई कार्यों की एक प्रक्रिया है। प्रत्येक कार्य के कई चरण होते हैं। ये सभी P12 या PEM प्रारूप में कुंजियों को निर्यात करने के लिए आवश्यक हैं। आगे बढ़ने से पहले चरणों की समीक्षा करें।

ऐप आईडी में एक SSL प्रमाणपत्र जोड़ें

  1. डेवलपमेंट एसएसएल सर्टिफिकेट के तहत सर्टिफिकेट क्रिएट पर क्लिक करें । आपको इसे बाद में उत्पादन के लिए भी करने की आवश्यकता होगी।
  2. Apple आपसे एक प्रमाणपत्र हस्ताक्षर अनुरोध बनाने के लिए कहेगा यहां छवि विवरण दर्ज करें

एक प्रमाण पत्र बनाने के लिए आपको एक मैक पर एक सर्टिफिकेट साइनिंग अनुरोध (CSR) बनाना होगा और इसे Apple पर अपलोड करना होगा।

बाद में यदि आपको इस प्रमाणपत्र को pkcs12 (उर्फ p12) फ़ाइल के रूप में निर्यात करने की आवश्यकता है, तो आपको उसी मैक से किचेन का उपयोग करना होगा । जब हस्ताक्षर अनुरोध बनाया जाता है तो किचेन एक्सेस डिफ़ॉल्ट किचेन में कुंजी का एक समूह उत्पन्न करता है। ये कुंजी प्रमाणपत्र के साथ काम करने के लिए आवश्यक हैं जो Apple हस्ताक्षर अनुरोध से बनाएगा।

विशेष रूप से विकास के लिए उपयोग किए जाने वाले क्रेडेंशियल्स के लिए एक अलग किचेन होना एक अच्छा अभ्यास है। यदि आप ऐसा करते हैं, तो सुनिश्चित करें कि प्रमाणपत्र सहायक का उपयोग करने से पहले यह चाबी का गुच्छा डिफ़ॉल्ट होना तय है।

डेवलपमेंट क्रेडेंशियल्स के लिए एक किचेन बनाएं

  1. अपने मैक पर किचेन एक्सेस खोलें
  2. में फ़ाइल मेनू का चयन करें नई कीचेन ...
  3. अपने किचेन को एक वर्णनात्मक नाम दें, जैसे "साझा विकास" या आपके आवेदन का नाम

प्रमाणपत्र हस्ताक्षर अनुरोध (CSR) बनाएँ

सर्टिफिकेट साइनिंग रिक्वेस्ट क्रिएट करते समय सर्टिफिकेट असिस्टेंट डिफॉल्ट किचेन में दो एन्क्रिप्शन कीज पैदा करता है। डेवलपमेंट किचेन को डिफॉल्ट बनाना जरूरी है इसलिए चाबी सही किचेन में हो।

  1. अपने मैक पर किचेन एक्सेस खोलें।
  2. किचेन की सूची में विकास कुंजीचैन पर नियंत्रण-क्लिक करें
  3. मेक किचेन का चयन करें "साझा विकास" डिफ़ॉल्ट यहां छवि विवरण दर्ज करें
  4. से कीचेन पहुंच मेनू का चयन प्रमाणपत्र सहायक है, तो कोई प्रमाणपत्र प्राधिकरण से प्रमाणपत्र का अनुरोध करें ... उप मेनू से। यहां छवि विवरण दर्ज करें
  5. जब सर्टिफिकेट असिस्टेंट चेक टू डिस्क में सेव्ड दिखाई देता है । यहां छवि विवरण दर्ज करें
  6. उपयोगकर्ता ईमेल पता फ़ील्ड में अपने Apple डेवलपर प्रोग्राम की सदस्यता से जुड़ा ईमेल पता दर्ज करें ।
  7. सामान्य नाम फ़ील्ड में कुंजी के लिए एक नाम दर्ज करें । सामान्य नाम के हिस्से के रूप में ऐप के बंडल आईडी का उपयोग करना एक अच्छा विचार है। इससे यह बताना आसान हो जाता है कि प्रमाणपत्र और कुंजियाँ किस ऐप से संबंधित हैं।
  8. जारी रखें पर क्लिक करें। प्रमाणपत्र सहायक फ़ाइल पर हस्ताक्षर करने के अनुरोध को बचाने के लिए संकेत देगा।
  9. किचेन एक्सेस में "लॉगिन" कीचेन को फिर से डिफ़ॉल्ट बनाते हैं।

हस्ताक्षर अनुरोध बनाने से कुंजियों की एक जोड़ी उत्पन्न हुई। हस्ताक्षर अनुरोध को अपलोड करने से पहले यह सत्यापित कर लें कि विकास कुंजी में चाबी है। उनके नाम हस्ताक्षर अनुरोध में उपयोग किए जाने वाले सामान्य नाम के समान होंगे ।

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

प्रमाणपत्र हस्ताक्षर अनुरोध (CSR) अपलोड करें

एक बार सर्टिफिकेट साइनिंग अनुरोध बनाने के बाद इसे Apple डेवलपर सेंटर पर अपलोड करें। Apple हस्ताक्षर अनुरोध से पुश अधिसूचना प्रमाण पत्र बनाएगा।

  1. प्रमाणपत्र हस्ताक्षर अनुरोध अपलोड करें
  2. प्रमाणपत्र डाउनलोड करें Apple ने प्रमाणपत्र हस्ताक्षर अनुरोध से बनाया है यहां छवि विवरण दर्ज करें
  3. किचेन एक्सेस में किचेन की सूची में से डेवलपमेंट किचेन का चयन करें
  4. से फ़ाइल मेनू का चयन आयात आइटम ... यहां छवि विवरण दर्ज करें
  5. Apple से डाउनलोड की गई प्रमाणपत्र फ़ाइल आयात करें

आपके विकास कीचेन को अब किचेन एक्सेस में मेरा प्रमाण पत्र के तहत एक निजी कुंजी के साथ पुश प्रमाणपत्र दिखाना चाहिए :

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

इस बिंदु पर विकास कीचेन का बैकअप होना चाहिए। कई टीमें अपने पुश प्रमाणपत्रों को सुरक्षित यूएसबी ड्राइव पर रखती हैं, आंतरिक संस्करण नियंत्रण के लिए या टाइम मशीन की तरह बैकअप समाधान का उपयोग करती हैं। विकास कीचेन को अलग-अलग टीम के सदस्यों के बीच साझा किया जा सकता है क्योंकि इसमें कोई व्यक्तिगत कोड नहीं होता है जो क्रेडेंशियल पर हस्ताक्षर करता है।

किचेन फाइलें अंदर स्थित हैं ~/Library/Keychains

कुछ तृतीय पक्ष पुश सेवाओं को गोपनीयता बढ़ाने वाले मेल (पीईएम) प्रारूप में प्रमाण पत्र की आवश्यकता होती है, जबकि अन्य को सार्वजनिक-कुंजी क्रिप्टोग्राफी मानकों # 12 (PKCS12 या P12) की आवश्यकता होती है। Apple से डाउनलोड किए गए प्रमाणपत्र का उपयोग इन प्रारूपों में प्रमाणपत्र निर्यात करने के लिए किया जा सकता है - लेकिन केवल तभी जब आपने निजी कुंजी रखी हो।

प्रमाणपत्र को PEM प्रारूप में कनवर्ट करें

  1. किचेन एक्सेस में पहले बनाए गए डेवलपमेंट किचेन का चयन करें।
  2. मेरा प्रमाणपत्र में पुश प्रमाणपत्र का चयन करें । इसके साथ एक निजी कुंजी होनी चाहिए। [[CER पुश प्रमाणपत्र डाउनलोड करें] (चाबी का गुच्छा / आयात पूरा करें। भाषा)
  3. से फ़ाइल मेनू का चयन करें निर्यात आइटम ... यहां छवि विवरण दर्ज करें
  4. खुलने वाले सहेजें पैनल में, फ़ाइल प्रारूप के रूप में गोपनीयता बढ़ी मेल (.pem) का चयन करें ।
  5. फ़ाइल सहेजें

3

मैं एक बहुत अधिक सरल उपाय सुझाऊंगा। बस Certifire का उपयोग करें
सर्टिफायर एक मैकओएस एप्लिकेशन है जो कुछ ही सेकंड में एक क्लिक के साथ Apple पुश नोटिफिकेशन सर्टिफिकेट जेनरेट करता है।

यहाँ कदम हैं:
1. एप्लिकेशन डाउनलोड करें।
2. अपने Apple डेवलपर खाता क्रेडेंशियल्स का उपयोग करके लॉग इन करें।
3. ऐप-आईडी चुनें
4. "जनरेट" बटन पर क्लिक करें
5. आपका काम हो गया!

आपको एपीपी प्रमाण पत्र .pem प्रारूप के साथ-साथ .p12 प्रारूप में मिलेंगे। और भी, आपको संयुक्त .pem और .p12 भी मिलेंगे (कुंजी + प्रमाणपत्र)!
बहुत अधिक, आपको इन सभी प्रमाणपत्रों का नो-पासफ़्रेज़ संस्करण भी मिलेगा!

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

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


2

यह मैंने विंडोज 7 पर कैसे किया, ओपनएसएसएल स्थापित करने के बाद (लिंक Win32 इंस्टॉलर पर जाता है, नवीनतम संस्करण चुनें और प्रकाश संस्करण नहीं)।

इस पद्धति के साथ आपको केवल .cerApple से डाउनलोड की गई फ़ाइल की आवश्यकता है ।

c:\OpenSSL-Win32\bin\openssl.exe x509 -in aps_development.cer -inform DER -out developer_identity.pem -outform PEM

यह एक फाइल बनाएगा जिसे आपको अपनी निजी कुंजी भी जोड़ना होगा।

----- निजी कुंजी ----- BEGIN
MIIEuwIBADANBgkqhk .... आदि
MIIEuwIBADANBgkqhk .... आदि
MIIEuwIBADANBgkqhk .... आदि
MIIEuwIBADANBgkqhk .... आदि
----- END निजी कुंजी -----
----- BEGIN CERTIFICATE -----
AwIBAgwIBADAwIBADA .... आदि
AwIBAgwIBADAwIBADA .... आदि
AwIBAgwIBADAwIBADA .... आदि
----- END प्रमाण पत्र -----

बस।


2

बनाने का सबसे आसान तरीका है .Pem फ़ाइल यदि आप पहले से ही अपनी कुंजी श्रृंखला एक्सेस में p12 फ़ाइल एप्स कर चुके हैं।

टर्मिनल खोलें और नीचे कमांड दर्ज करें:

Devlopment के लिए Opensl pkcs12 -in apns-div-cert.p12

उत्पादन के लिए Opensl pkcs12 में एपन-डिस्ट-सर्टिफिकेट।

इस नाम के साथ अपनी P12 फ़ाइल का नाम बदलें: apns-div-cert.p12 अन्यथा इसके बजाय आपको अपना फ़ाइल नाम दर्ज करने की आवश्यकता है। धन्यवाद!!


1

मुझे फ़ाइल opensslबनाने के लिए आवश्यक कमांड याद नहीं है .pem, इसलिए मैंने प्रक्रिया को आसान बनाने के लिए यह बैश स्क्रिप्ट बनाई:

#!/bin/bash
if [ $# -eq 2 ]
then
    echo "Signing $1..."

    if ! openssl pkcs12 -in $1 -out $2 -nodes -clcerts; then
        echo "Error signing certificate."
    else
        echo "Certificate created successfully: $2"
    fi
else
    if [ $# -gt 2 ]
    then
        echo "Too many arguments"
        echo "Syntax: $0 <input.p12> <output.pem>"
    else
        echo "Missing arguments"
        echo "Syntax: $0 <input.p12> <output.pem>"
    fi
fi

इसे नाम दें, उदाहरण के लिए, signpem.shऔर इसे अपने उपयोगकर्ता के फ़ोल्डर ( /Users/<username>?) पर सहेजें । फ़ाइल बनाने के बाद, chmod +x signpem.shइसे निष्पादित करने के लिए एक करें और फिर आप चला सकते हैं:

~/signpem myCertificate.p12 myCertificate.pem

और myCertificate.pemबनाई जाएगी।

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