किचेन पर वितरण प्रमाण पत्र में निजी कुंजी गायब है


170

मुझे निम्नलिखित समस्या है जिसका मुझे कहीं भी समाधान नहीं मिला। मूल रूप से, हमारे पास एक कंपनी डेवलपर खाता है (उद्यम नहीं) और इसलिए अपना ऐप सबमिट करने के लिए, हमने अपनी टीम लीड से अनुरोध किया कि मुझे वितरण प्रमाण पत्र भेजें और मुझे वितरण प्रावधान प्रोफ़ाइल बनाकर भेजें।

डेवलपर प्रोफ़ाइल के साथ, सब कुछ अच्छा काम करता है, लेकिन जब मैंने प्रमाण पत्र और प्रोविज़निंग प्रोफ़ाइल स्थापित किया, तो मैंने Xcode पर वितरण प्रोफ़ाइल नहीं देखी, और न ही चाबीचिन में दूर के प्रमाण के तहत मेरे पास एक निजी कुंजी है।

क्या किसी को पता है यह कैसे हल करना है? मैं अलग-अलग जगहों पर पढ़ता हूं कि मुझे प्रमाणपत्र को रद्द करने और एक नया बनाने की आवश्यकता होगी, लेकिन मैं वास्तव में ऐसा नहीं कर सकता क्योंकि हमारे पास कंपनी में एप्लिकेशन का एक गुच्छा है और मैं इसे सभी के लिए रद्द नहीं कर सकता।


2
शायद ही कभी निजी कुंजी गायब है क्योंकि हम .CSR के साथ प्रमाण पत्र बनाने की कोशिश कर रहे हैं जो किसी अन्य मशीन पर बनाए गए थे। तो, सुनिश्चित करें कि आपकी CSR फ़ाइल भी उसी मशीन पर बनाई जानी चाहिए जहाँ आप प्रमाण पत्र बनाने और स्थापित करने का प्रयास कर रहे हैं..या आप इस समस्या से बचने के लिए प्रमाणपत्रों के .p12 का उपयोग कर सकते हैं
MAhipal Singh

2
मेरे मामले में मेरे
किचेन में

जवाबों:


167

यहां छवि विवरण दर्ज करेंआह यह एक सामान्य मुद्दा है, समाधान सरल है:

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

आपके पास निजी कुंजी (। Pem फ़ाइल) और आपके प्रोविज़निंग प्रोफाइल के लिए प्रमाणपत्र दोनों होने चाहिए।


36
अधिक विशिष्ट होने के लिए .p12 फ़ाइल की आपको आवश्यकता है (निर्यात की गई)
mkral

7
@Nirma क्या होगा यदि हमारे पास उस कंप्यूटर तक पहुंच नहीं है, जहां से डेवलपर क्रेडेंशियल मूल रूप से बनाए गए थे।
निषाद अरोड़ा

@NishadArora आपको उपयोग करने के लिए एक नई कुंजी बनानी होगी। निजी कुंजी के बिना इसका उपयोग करने का कोई तरीका नहीं है। AFAIK
जोशुआ पिंटर

2
@Nirma नया बनाने के लिए कैसे
मुजू

70

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

बस प्रमाण पत्र और निजी कुंजी दोनों को निर्यात करने के लिए उस मैक की किचेन एक्सेस एप्लिकेशन का उपयोग करें। शिफ्ट या कमांड का उपयोग करके दोनों का चयन करें और एक .p12 फ़ाइल में निर्यात करने के लिए राइट क्लिक करें।

इसे बहुत स्पष्ट बनाने के लिए एक स्क्रीनशॉट संलग्न किया।

अपने मैक पर, .p12 फ़ाइल आयात करें और आप जाने के लिए अच्छे हैं (बस सुनिश्चित करें कि आपके पास एक मान्य प्रावधान प्रोफ़ाइल है)।

बस निर्यात चुनें


55

दूसरों के उत्तरों को जोड़ने के लिए, यदि आपके पास उस निजी कुंजी तक पहुंच नहीं है, तो वापस आना और दौड़ना काफी सरल है:

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

13
यहां मेरी कंपनी में हमेशा गड़बड़ी होती है, किसी को भी नहीं पता होता है कि किस कंप्यूटर में एक निश्चित प्रमाण पत्र बनाया गया था। क्या केवल
रिवोक

1
@ user2387149 मैं इस तरह का सामान करने के लिए CI / CD का सुझाव देने के लिए 6 साल बाद यहां आया हूं और xCode के माध्यम से वितरण के बारे में भूल गया हूं।
एडगर सालजार

अगर मैंने पहले से ही एक वितरण प्रमाणपत्र डाउनलोड किया है, तो मैंने इसे रद्द कर दिया है, फिर से इसे फिर से अनुरोध करें। क्या मुझे पुराना वितरण प्रमाणपत्र निकालना चाहिए?
काफिन्सलीम

14

कीचैन से मौजूदा एक को हटाएं, जहां प्रमाण पत्र बनाया गया था, वहां से अपने मैक में .p12 फ़ाइल जोड़ें और जोड़ें।

स्रोत मैक से .p12 प्राप्त करने के लिए, कीचेचिन पर जाएं, प्रमाण पत्र का विस्तार करें, दोनों का चयन करें और 2 आइटम निर्यात करें। यह आपके स्थान पर .p12 फ़ाइल को बचाएगा:

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


8

मेरे मामले में, मैंने अपने किचेन में सभी निजी चाबियाँ खो दी हैं, नए लोगों को सही तरीके से आयात किया गया था, लेकिन निजी कुंजी भी नहीं दिखाती है। केवल एक चीज जो नई प्रमाणपत्र जनगणना को बनाए रखने में सहायक थी, वह थी


6

आपके द्वारा मैक को बदले जाने के बाद जो मूल नहीं है, जिसने डिसेंट्रिब्यूशन सर्टिफिकेट बनाया है, आप निजी कुंजी को मिस कर देंगे। बस ऑरिजनल सर्टिफिकेट को डिलीट कर दें और एक नया बनाएँ, जो मेरे लिए काम करता है ~


5

जब मैंने परीक्षण उड़ान के लिए iOS बिल्ड अपलोड करने का प्रयास किया तब त्रुटि दिखाई दी।

"Missing privacy key"

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

इस त्रुटि को ठीक करने के लिए बस 2 चरण।

  1. Developer.apple.com से पुराना प्रमाण पत्र निकालें
  2. Xcode या developer.apple.com से नया प्रमाणपत्र बनाएं

मेरी समस्या हल हो गई है (मैं Xcode 9.4.1 का उपयोग कर रहा हूं)।

कृपया जांचें, Xcode ने नया प्रमाणपत्र बनाया।

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


5

जो लोग AppStore वितरण प्रमाण पत्र को फिर से बनाने से डरते हैं, उनके लिए Apple प्रलेखन कहता है:

महत्वपूर्ण: अपने विकास या वितरण प्रमाणपत्रों को फिर से बनाना उन ऐप्स को प्रभावित नहीं करता है जिन्हें आपने ऐप स्टोर पर सबमिट किया है और न ही यह उन्हें अपडेट करने की आपकी क्षमता को प्रभावित करता है।

लेकिन यह ऐप्पल डेवलपर एंटरप्राइज इकोसिस्टम के ऐप्स को प्रभावित करता है ।


4
यदि आपके पास एक उद्यम खाता है तो यह होता है!
MobileMon

"एंटरप्राइज़ इकोसिस्टम सिस्टम" द्वारा .... पूर्व के लिए। क्या आप किसी बड़ी कंपनी में काम करते हैं और 100 डेवलपर्स के पास उस विशिष्ट ऐप के लिए निजी कुंजी है?
पेट्रोसम

2

मेनू> विज़ुअल स्टूडियो (मैक)> वरीयताएँ> प्रकाशन> Apple डेवलपर खाते> [अपना ऐप्पल आईडी चुनें]> विवरण देखें> प्रमाणपत्र बनाएं

अप्रयुक्त / अमान्य प्रमाणपत्रों को हटाने के लिए, वेबसाइट पर जाएँ : https://developer.apple.com/account/resources/cert प्रमाणपत्र/list

वहां किसी भी अवांछित प्रमाण पत्र को हटा दें

अगला ऐप आईडी (पहचानकर्ता) बनाने के लिए है, वेबसाइट पर जाएं :
https://developer.apple.com/account/resources/inifier/list

अगला, प्रोविज़निंग प्रोफाइल बनाने के लिए वेबसाइट पर जाएँ :
https://developer.apple.com/account/resources/profiles/add

प्रमाण पत्र का उपयोग अपनी ऐप आईडी के साथ करने के लिए करें।

प्रोफाइल डाउनलोड करने के लिए अगला है:
अपने मैक पर> मेनू> विज़ुअल स्टूडियो (मैक)> वरीयताएँ> प्रकाशन> ऐप्पल डेवलपर अकाउंट> [अपनी ऐप्पल आईडी चुनें]> विवरण देखें> सभी प्रोफाइल डाउनलोड करें


1

मैंने उस प्रमाणपत्र को ऐप्पल की डेवलपर वेबसाइट पर एक्सेस किया और डाउनलोड करने के बाद मैंने इसे खोला। इसी तरह, खुले में मुझे एक छोटी सी खिड़की मिली जो पूछ रही थी कि क्या मैं किचेन में प्रमाणपत्र जोड़ना चाहता हूं। बस "जोड़" टैप किया गया और "लापता निजी कुंजी" त्रुटि चली गई।


1

मैं इस स्थिति में आ गया ("मिसिंग प्राइवेट की।") के बाद Xcode नया वितरण प्रमाण पत्र बनाने में विफल रहा - एक अज्ञात त्रुटि हुई।

फिर, मैंने निजी कुंजी प्राप्त करने या नया प्रमाणपत्र बनाने के लिए संघर्ष किया। Xcode में प्रमाण पत्र प्रबंधक से मुझे अजीब त्रुटियां मिलीं जैसे "आपके द्वारा दर्ज किया गया पासफ़्रेज़ गलत है"। लेकिन इसने मुझसे कोई पासफ़्रेज़ भी नहीं मांगा।

मुझे क्या मदद मिली:

  1. Developer.apple.com पर सभी काम नहीं कर रहे वितरण प्रमाणपत्रों को रद्द करें
  2. मेरे मैक को पुनरारंभ करें

उसके बाद, Xcode नया वितरण प्रमाणपत्र बनाने में सक्षम था और कोई भी निजी कुंजी गायब नहीं थी।

सबक सीखा: अपने मैक को उतना ही पुनरारंभ करें जितना आप विंडोज;)


0

जाँच करें कि आप लॉग इन का उपयोग कर रहे हैं या सर्टिफिकेट जोड़ने के लिए नहीं, यदि आप सिस्टम को ऊपरी बाएँ हाथ की तरफ जाँच रहे हैं तो हम इसे देख नहीं पाएंगे।

तो .cer को लॉगिन में खींचें और छोड़ें फिर जांचें कि आप निजी कुंजी प्राप्त करने में सक्षम हैं या नहीं।


0

बस इस पर कुछ प्रकाश डालना है।

मैंने किचेन से अपना p12 सर्टिफिकेट डिलीट कर दिया। मैंने Apple डेवलपर पोर्टल से अपना स्वयं का प्रमाणपत्र फिर से डाउनलोड किया।

मैं केवल प्रमाण पत्र डाउनलोड करने में सक्षम था। लेकिन साइन करने के लिए आपको निजी कुंजी की भी आवश्यकता है। तो आप या तो:

  • इसे प्राप्त करने के लिए किचेन से निजी कुंजी और प्रमाणपत्र दोनों का निर्यात करें।

  • एक प्रमाणपत्र हस्ताक्षर अनुरोध अपलोड करें और नए प्रमाणपत्र उत्पन्न करें

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

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