मेरा लक्ष्य एक नए iPhone वितरण प्रमाणपत्र उत्पन्न करने के लिए Apple को प्रस्तुत करने के लिए मेरी मौजूदा निजी कुंजी का उपयोग करके CSR (प्रमाणपत्र पर हस्ताक्षर करने का अनुरोध) बनाना था। मैंने सुनिश्चित किया कि प्रमाणपत्र बाईं ओर चयनित श्रेणी थी। मैंने अपनी निजी कुंजी पर क्लिक करने का अनुरोध किया और आयातित निजी कुंजी के साथ प्रमाणपत्र प्राधिकारी से प्रमाणपत्र का अनुरोध करने पर क्लिक करने पर मुझे इसे सहेजने का प्रयास करते समय निम्न त्रुटि मिलेगी।
निर्दिष्ट आइटम किचेन में नहीं पाया जा सकता है।
फ़ाइल मेनू के माध्यम से जाने पर मुझे भी वही त्रुटि मिली: किचेन एक्सेस > प्रमाणपत्र सहायक
मैंने अन्य इंटरनेट स्रोतों से जो इकट्ठा किया है, वह यह है कि किचेन एक्सेस आपको निजी कुंजी आयात करने पर एक नया सीएसआर बनाने की अनुमति नहीं देता है, केवल तभी जब आप उपकरण से स्थानीय रूप से कुंजी बनाते हैं।
मैंने जो किया उसके बजाय निजी कुंजी निर्यात कर रहा था और नए CSR को उत्पन्न करने के लिए Opensl का उपयोग कर रहा था, जिसे Apple ने स्वीकार कर लिया और अब नई आयातित निजी कुंजी का संदर्भ देता है।
निजी कुंजी निर्यात करना
- निजी कुंजी पर राइट क्लिक करें
- निर्यात
- सुनिश्चित करें कि p12 फ़ाइल स्वरूप चयनित है
- सहेजें
- एक पासवर्ड दर्ज करें (वैकल्पिक)
- निर्यात कुंजी तक पहुंच की अनुमति दें
- टर्मिनल खोलें और निर्यात निर्देशिका में जाएं
- 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 को सबमिट करें, प्रमाण पत्र के उत्पन्न होने की प्रतीक्षा करें और फिर इसे इंस्टॉल करें। जब आप अपने नए जेनरेट किए गए प्रमाणपत्र को आयात करते हैं, तो आप देखेंगे कि यह आपके द्वारा निर्यात किए गए पुराने प्रमाणपत्र का संदर्भ देगा।