प्रमाणपत्र प्राप्त करने का प्रयास करते समय त्रुटि: चाबी का गुच्छा में निर्दिष्ट आइटम नहीं मिला


110

मुझे अपने ऐप्स को कोड करने में समस्या हो रही थी, इसलिए मैंने किचेन से सभी कुंजी हटा दीं। फिर मैं सर्टिफिकेट असिस्टेंट => एक सर्टिफिकेट अथॉरिटी से सर्टिफिकेट (नए सर्टिफिकेट के लिए सीएसआर बनाने के लिए) गया।

इसलिए अपना ईमेल पता दर्ज करें और यहां मुझे क्या मिलेगा:

निर्दिष्ट आइटम किचेन में नहीं पाया जा सकता है।

मैं क्या गलत कर रहा हूं?

PS जब मैं एक सर्टिफिकेट अथॉरिटी बनाने की कोशिश कर रहा होता हूं , तो मुझे वही त्रुटि मिलती है।


1
मुझे समान त्रुटि प्राप्त हो रही है। कृपया आप अपने उत्तर या किसी ऐसे व्यक्ति के बारे में विस्तार से जान सकते हैं जो इसे करना जानता है
Iducool


1
दूसरे हस्ताक्षर करने के उद्देश्य (जैसे installer+ application) के लिए एक निजी कुंजी का उपयोग करने वालों के लिए , कृपया नीचे दिए गए @ toland-hon के मैनुअल चरणों को देखें, जिसमें छोटी लाइन के Keychain Accessआवेदन को हल करने के लिए कमांड लाइन पर OpenSSL का उपयोग करें । नीचे दिए गए चरण, जो उपयोगकर्ताओं को सीधे Certificateअनुभाग में Keychain Accessभेजते हैं, वे तब काम नहीं करते हैं जब एक माध्यमिक उद्देश्य के लिए एक निजी कुंजी का पुन: उपयोग किया जाता है। मैनुअल CSR opensslएक व्यवहार्य समाधान है।
tresf

जवाबों:


300

मैंने इसे हल किया। सुनिश्चित करें कि आप "प्रमाणपत्र" अनुभाग में हैं और आप प्रमाणपत्र का अनुरोध करने से पहले "Apple Worldwide डेवलपर संबंध प्रमाणन प्राधिकरण" का चयन करते हैं।


7
आप एक नायक हो। मैं अपने बाल खींच रहा था जब अन्य सभी उत्तर समस्या को हल नहीं कर रहे थे।
BFeher

23
ओह माय गॉड Apple डब्ल्यूटीएफ? धन्यवाद जॉन!
मैट

2
यह पागल है। :(: P क्या फालूदा ??? गंभीरता से, कुछ उपयोगकर्ता के अनुकूल चेतावनी या संदेश होने की आवश्यकता है।
आदिल सूमरो

2
मैंने इस जवाब पर विचार नहीं किया क्योंकि मुझे लगा कि यह पागल है। लेकिन यह वास्तव में काम करता है। सेब पारिस्थितिकी तंत्र के कुछ ढीले हिस्से हैं जो सिर्फ पागल हैं :)
एलेक्स

2
इससे मेरे लिए हल हो गया। मेरी पुरानी निजी कुंजी चयनित होने से काम नहीं चला, न ही कुंजी चयनित नहीं हुई। कितना अस्पष्ट ...
zai chang

46

कीचेन पहुंच आप नहीं दूँगी "के साथ कोई प्रमाणपत्र प्राधिकरण से एक प्रमाण पत्र का अनुरोध पहचान " ... जब तक आप दोनों निजी कुंजी और के लिए सार्वजनिक कुंजी पहचान अपने-चेन में। मैं इसमें भाग गया जब मेरे पास केवल निजी कुंजी थी न कि संबंधित सार्वजनिक कुंजी।

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

एक बार जब मैंने सार्वजनिक कुंजी आयात की तो मैं एक प्रमाणपत्र प्राधिकरण से " पहचान " के साथ अनुरोध प्रमाणपत्र का उपयोग करने में सक्षम था ... कमांड को ट्रिगर किए बिना निर्दिष्ट आइटम किचेन त्रुटि में नहीं मिल सकता है


आप सही हैं, सार्वजनिक कुंजी के बिना प्रमाण पत्र कैसे बनाया जा सकता है :)
onmyway133

29

" प्रमाणपत्र " अनुभाग पर जाएं और प्रमाणपत्र का अनुरोध करने से पहले " Apple Worldwide डेवलपर संबंध प्रमाणन प्राधिकरण " का चयन करें ।

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


21

आप (शायद दुर्घटनावश) किचेन एक्सेस को मौजूदा कुंजी का उपयोग करके प्रमाणपत्र हस्ताक्षर अनुरोध उत्पन्न करने के लिए कह रहे हैं । यदि कीचेन एक्सेस - सर्टिफिकेट असिस्टेंट मेनू में जाने पर एक कुंजी का चयन किया जाता है , तो प्रस्तुत विकल्प उस चयनित कुंजी के लिए होंगे।

अपने चाबी का गुच्छा (एक सहेजे गए पासवर्ड की तरह) में एक गैर-कुंजी आइटम चुनें और सामान्य रूप से सीएसआर उत्पन्न करने के लिए फिर से किचेन एक्सेस - प्रमाणपत्र सहायक पर जाएं।


ऐसा लगता है कि ओएस एक्स अब पहले आइटम के लिए डिफॉल्ट करता है जिसे अब चुना जा रहा है। यदि आप इसे उत्पन्न करते समय एक अलग किचेन (यानी सिस्टम) चुनते हैं तो यह समस्या को ठीक करना चाहिए।
जेम्स पार्कर

पवित्र बकवास, मैंने ऐसा कभी नहीं किया होगा। खराब UI डिज़ाइन के बारे में बात करें ...
d512

9

यहां तक ​​कि मुझे यह मुद्दा मिल रहा था। मैं के All Itemsबजाय का चयन करके इसे हल KeysकियाCategories फलक और फिर प्रमाणपत्र बनाने की कोशिश की।

यह कोशिश करो, यह निश्चित रूप से काम करेगा।


रिबूट करने के लिए बेहतर है
नाइट 2017

7

यह मेरे साथ हो रहा था मैंने देखा कि प्रमाणपत्र अनुरोध बनाने के लिए मेनू विकल्प से बदल गया था

प्रमाणपत्र प्राधिकारी से प्रमाणपत्र का अनुरोध करें ...

सेवा

"मेरा नाम" के साथ एक प्रमाणपत्र प्राधिकरण से प्रमाणपत्र का अनुरोध करें ...

इस मेनू विकल्प की जाँच करें

मैं काम पर एक डोमेन पर हूं इसलिए मैंने एक अन्य उपयोगकर्ता के रूप में लॉग आउट किया, लॉग इन किया और फिर दोबारा लॉग इन किया। उसके बाद मेनू अपेक्षा के अनुरूप दिखाई दिया और यह त्रुटि चली गई


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

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

7

मेरा लक्ष्य एक नए iPhone वितरण प्रमाणपत्र उत्पन्न करने के लिए Apple को प्रस्तुत करने के लिए मेरी मौजूदा निजी कुंजी का उपयोग करके CSR (प्रमाणपत्र पर हस्ताक्षर करने का अनुरोध) बनाना था। मैंने सुनिश्चित किया कि प्रमाणपत्र बाईं ओर चयनित श्रेणी थी। मैंने अपनी निजी कुंजी पर क्लिक करने का अनुरोध किया और आयातित निजी कुंजी के साथ प्रमाणपत्र प्राधिकारी से प्रमाणपत्र का अनुरोध करने पर क्लिक करने पर मुझे इसे सहेजने का प्रयास करते समय निम्न त्रुटि मिलेगी।

निर्दिष्ट आइटम किचेन में नहीं पाया जा सकता है।

फ़ाइल मेनू के माध्यम से जाने पर मुझे भी वही त्रुटि मिली: किचेन एक्सेस > प्रमाणपत्र सहायक

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

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

निजी कुंजी निर्यात करना

  1. निजी कुंजी पर राइट क्लिक करें
  2. निर्यात
  3. सुनिश्चित करें कि p12 फ़ाइल स्वरूप चयनित है
  4. सहेजें
  5. एक पासवर्ड दर्ज करें (वैकल्पिक)
  6. निर्यात कुंजी तक पहुंच की अनुमति दें
  7. टर्मिनल खोलें और निर्यात निर्देशिका में जाएं
  8. P12 कंटेनर से कुंजी निकालें

सावधान रहें। Pem निजी कुंजी अब संरक्षित पासवर्ड नहीं है)

$ openssl pkcs12 -in Certificates.p12 -out Certificates.pem -nodes
Enter Import Password: ********************
MAC verified OK

निर्यातित निजी कुंजी के साथ नया CSR बनाना

$ openssl req -out Certificates.csr -key Certificates.pem -new
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:.
State or Province Name (full name) [Some-State]:.
Locality Name (eg, city) []:.
Organization Name (eg, company) [Internet Widgits Pty Ltd]:.
Organizational Unit Name (eg, section) []:.
Common Name (e.g. server FQDN or YOUR name) []:John Doe Dev Key
Email Address []:thon@example.com

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

ध्यान देने योग्य कुछ बातें:

  • दर्ज । जब आप चाहते हैं कि फ़ील्ड रिक्त हो, या डिफ़ॉल्ट में ब्रैकेट में जो कुछ भी शामिल होगा []।
  • सामान्य नाम (CN) आपका निजी कुंजी नाम होना चाहिए (जैसे, जॉन डो देव की)
  • ईमेल पता आपका ईमेल पता होना चाहिए (जैसे thon@example.com)
  • बाकी सब खाली होना चाहिए

अपना CSR सत्यापित करें

$ openssl req -noout -text -in Certificates.csr
Certificate Request:
    Data:
        Version: 0 (0x0)
        Subject: CN=John Doe Dev Key/emailAddress=thon@example.com
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
            RSA Public Key: (2048 bit)
                Modulus (2048 bit):
                    
                Exponent: 65537 (0x10001)
        Attributes:
            a0:00
    Signature Algorithm: sha1WithRSAEncryption
        

आपको किस विषय पर ध्यान देना चाहिए लाइन और सत्यापित करें कि यह सही है।

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


वही मुद्दा। एक ही निजी कुंजी रखना चाहता था (यानी मूल रूप से इसके लिए उपयोग किया जाता था developerID_installer.cerलेकिन इसके लिए फिर से उपयोग करना चाहता था developerID_application.cer)। Apple के निर्देश खराब हैं क्योंकि वे आपको छोटी गाड़ी Keychain Accessया बदतर XCode का उपयोग करने के लिए मजबूर करते हैं । मैं अनजाने में इस उपरोक्त समाधान पर ठोकर खाई। तुम्हारा उत्कर्ष क्योंकि यह वही है जो मैंने किया।
tresf

4

मैं एक ही समस्या है। मैं सीएसआर बना सकता हूं और फिर नहीं बना सकता और वही त्रुटि हो रही है।

तब मैं खोज सकता हूं और पाया जा सकता है लेकिन हल नहीं हो सकता।

कुछ समय मैं इसे हल कर सकता हूं।

फ्रिस्ट टाइम क्रेट CSR.so के माध्यम से मेरी किचेन एक्सेस लॉक है।

ओपन> किचेन एक्सेस> किचेन एक्सेस डिस्प्ले के ऊपर "सिस्टम किचेन अनलॉक करने के लिए क्लिक करें"

उस पर क्लिक करें और सिस्टम कीच को अनलॉक करें फिर CSR फ़ाइल बनाएं फिर इस त्रुटि को नहीं।


2

किचेन में निजी कुंजी का चयन समस्या उत्पन्न करेगा। "निर्दिष्ट आइटम किचेन में नहीं पाया जा सका" जब आप सार्वजनिक कुंजी चुनते हैं तो इसे हल करें। "आपका प्रमाणपत्र अनुरोध डिस्क पर बनाया गया है।"


1

ठीक है कि नाम दिखाता है जो किचैन मेनविंडो में आपके द्वारा हाइलाइट किए गए आइटम को प्रदर्शित करता है (यदि आप यहां एक अलग आइटम का चयन करते हैं तो आप इसके साथ मेनू आइटम परिवर्तन भी देखते हैं)। यदि आप श्रेणी अनुभाग बाईं ओर जाते हैं और उदाहरण के लिए मेरे प्रमाणपत्रों का चयन करते हैं और प्रमाणपत्र सहायक मेनू आइटम पर वापस जाते हैं, तो यह आपके द्वारा उपयोग किए जाने वाले / जैसे कार्य करता है। उम्मीद है की यह मदद करेगा!


1

मेरे पास प्रत्येक प्रमाण पत्र को रद्द करने के बाद, मुझे लगा कि समस्या मेरी यौवन के साथ है । यह ऐप पर हस्ताक्षर करने के तरीके से हो रहा था। जब मैंने इसे हटाया, तब समस्या हल हुई।

इस मंच सूत्र ने मेरी मदद की: https://forums.developer.apple.com/thread/106938


धन्यवाद! यह मेरा मुद्दा भी था। यह ज्यादातर लोगों के लिए मुद्दा नहीं हो सकता है, लेकिन एक Yubikey के साथ किसी को भी इसे बाहर खींचने और पुनर्निर्माण का प्रयास करना चाहिए।
फीलिप बसबी

0

यदि आपने नया CSR जेनरेट करते समय किचेन में किसी निजी कुंजी का चयन किया है तो यह आपको उस कुंजी के संदर्भ में संकेत देगा। बस यह सुनिश्चित करें कि आपने नया CSR बनाने के लिए किसी भी गैर-निजी कुंजी आइटम का चयन किया है जो नए सिरे से बनाने के लिए उपयोगी होगा।

उदाहरण के लिए किचेन टूल "पब्लिक की" या किसी मौजूदा प्रमाण पत्र में चयनित रहें, जिसके पास निजी कुंजी संरेखित नहीं है। अब "प्रमाणपत्र प्रमाण पत्र से अनुरोध प्रमाणपत्र" प्रवाह का पालन करें।


0

नीचे दिए गए लिंक ने मेरे लिए समस्या हल कर दी। https://forums.developer.apple.com/thread/72863

मेरे मामले में यह सबसे छोटा था जो हर समय मेरे मैक से जुड़ा रहता था। इसे हटाने के बाद, समस्या स्वतः हल हो गई।


-14

उसे हल कर लिया! "कोड हस्ताक्षर" के लिए "उपयोगकर्ता प्रमाणपत्र" बदलना पड़ा।


"उपयोगकर्ता प्रमाणपत्र" को "कोड साइनिंग" में बदलने से आपका क्या मतलब है?
user500

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