Apple Certificate एक डिजिटल दस्तावेज़ है जो Apple Developer Portal द्वारा iOS, iPadOS, macOS, tvOS और watchOS के तहत एप्लिकेशन के कोड साइनिंग के लिए जारी किया जाता है। Apple Developer Support, 2026 के अनुसार, प्रमाणपत्र सार्वजनिक कुंजी बुनियादी ढांचे (PKI) का हिस्सा हैं और डेवलपर की पहचान की पुष्टि के लिए आवश्यक हैं। इस लेख में हम प्रमाणपत्र प्रकार, उनके निर्माण और प्रबंधन की प्रक्रिया पर चर्चा करेंगे।
मुख्य बिंदु
Apple Certificate X.509 प्रारूप में एक क्रिप्टोग्राफिक प्रमाणपत्र है जो Apple प्रमाणपत्र प्राधिकरण (Apple Certificate Authority) द्वारा जारी किया जाता है। यह पुष्टि करता है कि इसका धारक Apple Developer Program का पंजीकृत सदस्य है और उसे Apple इकोसिस्टम के लिए एप्लिकेशन साइन करने का अधिकार है। प्रमाणपत्र में एक सार्वजनिक कुंजी, स्वामी मेटाडेटा और Apple CA का डिजिटल हस्ताक्षर होता है — कोई भी ऑपरेटिंग सिस्टम में निर्मित Apple रूट प्रमाणपत्र का उपयोग करके प्रमाणपत्र की प्रामाणिकता सत्यापित कर सकता है।
Apple की PKI आर्किटेक्चर में तीन स्तर शामिल हैं: Apple Root CA, मध्यवर्ती प्रमाणपत्र (Apple Worldwide Developer Relations CA), और डेवलपर प्रमाणपत्र। Apple Worldwide Developer Relations CA सभी डेवलपर प्रमाणपत्रों पर हस्ताक्षर करता है — यदि यह मध्यवर्ती प्रमाणपत्र विश्वास श्रृंखला से गायब है, तो कोड हस्ताक्षर अमान्य माना जाता है। Apple रूट प्रमाणपत्र iOS और macOS में निर्मित Apple Trust Store तंत्र के माध्यम से स्वचालित रूप से अपडेट होते हैं।
प्रत्येक प्रमाणपत्र की वैधता अवधि होती है — प्रकार के आधार पर एक से तीन साल तक। Apple Developer Program प्रमाणपत्र समाप्ति से 30 दिन पहले ईमेल और पुश सूचनाओं के माध्यम से स्वचालित रूप से डेवलपर को सूचित करता है। समाप्ति के बाद, पुराने प्रमाणपत्र का उपयोग नए बिल्ड को साइन करने के लिए नहीं किया जा सकता — एक नया जारी करना होगा; हालांकि, समाप्त प्रमाणपत्र से हस्ताक्षरित एप्लिकेशन उपयोगकर्ताओं के उपकरणों पर काम करना जारी रखते हैं।
विश्वास श्रृंखला सुनिश्चित करती है कि डेवलपर प्रमाणपत्र वास्तव में Apple द्वारा जारी किया गया था। iOS सत्यापित करता है: Apple Root CA प्रमाणपत्र (फर्मवेयर में निर्मित), मध्यवर्ती Apple Worldwide Developer Relations CA प्रमाणपत्र, और डेवलपर प्रमाणपत्र। यदि श्रृंखला का कोई भी तत्व गायब या अमान्य है, iOS कोड साइनिंग त्रुटि के साथ ऐप लॉन्च को ब्लॉक कर देता है। macOS कुंजी श्रृंखला में किसी भी प्रमाणपत्र की विश्वास श्रृंखला की जांच के लिए security उपयोगिता प्रदान करता है।
Apple Certificate का उपयोग करके कोड साइनिंग प्रक्रिया असममित क्रिप्टोग्राफी पर आधारित है। निजी कुंजी डेवलपर के कंप्यूटर पर Keychain में संग्रहीत होती है, जबकि सार्वजनिक कुंजी प्रमाणपत्र में शामिल की जाती है और Apple Developer Portal को भेजी जाती है। जब Xcode किसी एप्लिकेशन पर हस्ताक्षर करता है, तो वह बाइनरी फ़ाइल का डाइजेस्ट (हैश) बनाता है और इसे निजी कुंजी से एन्क्रिप्ट करता है — यह डिजिटल हस्ताक्षर है। डिवाइस प्रमाणपत्र से सार्वजनिक कुंजी का उपयोग करके हस्ताक्षर को डिक्रिप्ट करता है और गणना किए गए हैश से तुलना करता है।
Apple 2021 के बाद जारी सभी प्रमाणपत्रों के लिए ECDSA (Elliptic Curve Digital Signature Algorithm) का उपयोग P-256 वक्र के साथ करता है। पहले RSA-2048 का उपयोग किया जाता था। ECDSA में संक्रमण ने उपकरणों पर हस्ताक्षर सत्यापन गति बढ़ा दी और हस्ताक्षर आकार कम कर दिया — यह मोबाइल एप्लिकेशन के लिए विशेष रूप से महत्वपूर्ण है, क्योंकि हर लॉन्च पर हस्ताक्षर सत्यापन किया जाता है। Apple Security Engineering (2025) के अनुसार, ECDSA P-256 काफी कम कम्प्यूटेशनल लागत पर RSA-2048 के समतुल्य सुरक्षा स्तर प्रदान करता है।
CI/CD प्रक्रियाओं के लिए, प्रमाणपत्र को निजी कुंजी के साथ PKCS12 (.p12) में निर्यात किया जाना चाहिए और एक सुरक्षित भंडार में रखा जाना चाहिए। GitHub Actions, Bitrise, Jenkins और अन्य CI सिस्टम पर्यावरण चर या रहस्यों के माध्यम से प्रमाणपत्र आयात का समर्थन करते हैं। CI एजेंट पर आयात के बाद, प्रमाणपत्र अस्थायी रूप से कुंजी श्रृंखला में जोड़ा जाता है, हस्ताक्षर के लिए उपयोग किया जाता है और हटा दिया जाता है। Fastlane Match एन्क्रिप्टेड git रिपॉजिटरी के माध्यम से डेवलपर्स के बीच प्रमाणपत्र सिंक्रोनाइज़ करके इस प्रक्रिया को स्वचालित करता है।
Development प्रमाणपत्र डेवलपर के भौतिक उपकरणों पर चलाने के लिए एप्लिकेशन पर हस्ताक्षर करने की अनुमति देता है। इसे प्राप्त करने के लिए एक मुफ्त Apple ID खाता पर्याप्त है — Xcode स्वचालित रूप से Development प्रमाणपत्र उत्पन्न कर सकता है। Distribution प्रमाणपत्र केवल भुगतान किए गए Apple Developer Program खातों ($99/वर्ष) के लिए जारी किया जाता है और App Store में ऐप सबमिट करने, Ad Hoc वितरण या Enterprise वितरण के लिए आवश्यक है। एक खाते में कई Distribution प्रमाणपत्र हो सकते हैं — उदाहरण के लिए, प्रत्येक एप्लिकेशन के लिए अलग या विभिन्न टीमों के लिए।
Apple Developer Portal कई प्रकार के प्रमाणपत्र प्रदान करता है, प्रत्येक एक विशिष्ट उद्देश्य के लिए डिज़ाइन किया गया है। iOS App Development — विकास के दौरान एप्लिकेशन पर हस्ताक्षर करने के लिए बुनियादी प्रमाणपत्र। Apple Distribution — App Store में प्रकाशन के लिए मुख्य प्रमाणपत्र। Mac Development और Mac Distribution — macOS एप्लिकेशन के लिए समकक्ष। प्रत्येक प्रमाणपत्र प्रकार को Apple Developer Portal में एक अलग अनुरोध (CSR) की आवश्यकता होती है।
एक अलग श्रेणी में पुश सूचनाओं के लिए प्रमाणपत्र शामिल हैं। Apple Push Notification service (APNs) को या तो एक अलग SSL प्रमाणपत्र या प्रमाणीकरण टोकन (APNs Auth Key) के उपयोग की आवश्यकता होती है। APNs SSL प्रमाणपत्र Development (Sandbox) और Production वातावरण के लिए अलग-अलग जारी किए जाते हैं और एक विशिष्ट App ID से बंधे होते हैं। APNs Auth Key एक अधिक आधुनिक दृष्टिकोण है: एक कुंजी (.p8) खाते के सभी एप्लिकेशन की सेवा करती है, प्रबंधन को सरल बनाती है।
| प्रमाणपत्र प्रकार | उद्देश्य | वैधता |
|---|---|---|
| iOS App Development | उपकरणों पर परीक्षण के लिए हस्ताक्षर | 1 वर्ष |
| Apple Distribution | App Store और Ad Hoc में प्रकाशन | 1 वर्ष |
| Mac Development | macOS ऐप्स का विकास के लिए हस्ताक्षर | 1 वर्ष |
| Mac Distribution | Mac App Store में प्रकाशन | 1 वर्ष |
| APNs SSL (Sandbox) | परीक्षण वातावरण में पुश सूचनाएं | 1-3 वर्ष |
| APNs SSL (Production) | उत्पादन में पुश सूचनाएं | 1-3 वर्ष |
Apple Certificate बनाना macOS पर Keychain Access के माध्यम से प्रमाणपत्र हस्ताक्षर अनुरोध (CSR) उत्पन्न करने से शुरू होता है। Keychain Access एक कुंजी जोड़ी बनाता है: निजी कुंजी कुंजी श्रृंखला में रहती है, जबकि CSR Apple Developer Portal को भेजा जाता है। पहचान सत्यापन के बाद, Apple CSR पर हस्ताक्षर करता है और एक तैयार प्रमाणपत्र (.cer) जारी करता है जिसे डाउनलोड और डबल-क्लिक करके इंस्टॉल किया जाना चाहिए।
कई प्रोजेक्ट और टीमों के प्रबंधन के लिए, Apple विभिन्न Team ID के लिए प्रमाणपत्र बनाने की क्षमता प्रदान करता है। एक डेवलपर कई टीमों का सदस्य हो सकता है (Apple Developer Program — App Store Connect के माध्यम से), और प्रत्येक टीम के लिए अलग-अलग प्रमाणपत्र जारी किए जाते हैं। Xcode Signing & Capabilities सेटिंग्स में चयनित टीम के आधार पर स्वचालित रूप से प्रमाणपत्र स्विच करता है।
प्रमाणपत्र का निरसन एक गंभीर ऑपरेशन है: इस प्रमाणपत्र से हस्ताक्षरित सभी एप्लिकेशन नए उपकरणों पर इंस्टॉल होना बंद कर देते हैं (पहले से इंस्टॉल काम करना जारी रखते हैं)। Apple Developer Portal Certificates अनुभाग में किसी भी प्रमाणपत्र को निरस्त करने की अनुमति देता है। निरसन के कारण: निजी कुंजी से समझौता, डेवलपर का टीम छोड़ना, Apple Developer Program की शर्तों का उल्लंघन। निरसन के बाद, एक नया प्रमाणपत्र जारी किया जाना चाहिए और सभी सक्रिय बिल्ड पर फिर से हस्ताक्षर किए जाने चाहिए।
Keychain (कुंजी श्रृंखला) प्रमाणपत्रों, निजी कुंजियों और पासवर्डों के लिए macOS सिस्टम भंडार है। सभी Apple प्रमाणपत्र और संबंधित निजी कुंजियाँ उपयोगकर्ता की लॉगिन कुंजी श्रृंखला (login.keychain) में संग्रहीत होती हैं। कोड साइन करते समय Xcode Keychain तक पहुंचता है, बिल्ड प्रकार के आधार पर स्वचालित रूप से उपयुक्त प्रमाणपत्र का चयन करता है। हस्ताक्षर समस्याओं के निदान के लिए, अंतर्निहित Keychain Access उपयोगिता (/Applications/Utilities) उपयोगी है।
CI/CD के लिए प्रमाणपत्र निर्यात Keychain Access के माध्यम से किया जाता है: प्रमाणपत्र और संबंधित निजी कुंजी चुनें (वे एक पंक्ति में विस्तारित होने चाहिए), राइट-क्लिक करें और Export चुनें। प्रारूप PKCS12 (.p12) है। निर्यात के दौरान, Keychain फ़ाइल की सुरक्षा के लिए पासवर्ड मांगेगा — CI सर्वर पर आयात करते समय इस पासवर्ड की आवश्यकता होगी। निजी कुंजी के बिना, निर्यात किया गया प्रमाणपत्र हस्ताक्षर के लिए बेकार है — इसका उपयोग केवल पहले से हस्ताक्षरित कोड को सत्यापित करने के लिए किया जा सकता है।
security उपयोगिता का उपयोग करके CI एजेंट की कुंजी श्रृंखला में प्रमाणपत्र आयात करने का उदाहरण आदेश:
# अस्थायी कुंजी श्रृंखला बनाना
security create-keychain -p "temp" build.keychain
security default-keychain -s build.keychain
security unlock-keychain -p "temp" build.keychain
# .p12 से प्रमाणपत्र आयात करना
security import certificate.p12 -k build.keychain \
-P "${P12_PASSWORD}" -T /usr/bin/codesign
# हस्ताक्षर नीति कोन्फ़िगर करना
security set-key-partition-list -S apple: -s \
-k "temp" build.keychain
Security create-keychain उपयोगकर्ता से पृथक एक अस्थायी कुंजी श्रृंखला बनाता है। यह CI के लिए महत्वपूर्ण है ताकि एजेंट की सिस्टम कुंजी श्रृंखला दूषित न हो। -T /usr/bin/codesign फ़्लैग codesign उपयोगिता को पासवर्ड मांगे बिना कुंजियों तक पहुंचने की अनुमति देता है — अन्यथा पाइपलाइन में स्वचालित हस्ताक्षर एक डायलॉग द्वारा बाधित हो जाएगा। set-key-partition-list कमांड स्वचालित मोड में macOS कोड साइनिंग आवश्यकताओं के साथ संगतता के लिए आवश्यक है।
सबसे आम त्रुटि Xcode में बिल्ड करते समय “No signing certificate found” है। यह तब होता है जब Keychain में चयनित बिल्ड प्रकार से मेल खाने वाली निजी कुंजी वाला प्रमाणपत्र नहीं होता। समाधान: प्रमाणपत्र के लिए Keychain Access जांचें, इसे Apple Developer Portal से डाउनलोड करें और इंस्टॉल करें। यदि निजी कुंजी खो गई है (पुराना कंप्यूटर, सिस्टम पुनर्स्थापना), तो पुराने प्रमाणपत्र को निरस्त करना और नया जारी करना आवश्यक है।
CI/CD में “Valid signing certificate not found” त्रुटि तब होती है जब एजेंट पर Apple के मध्यवर्ती प्रमाणपत्र (Apple Worldwide Developer Relations CA) स्थापित नहीं होते। Apple डेवलपर प्रमाणपत्र डाउनलोड करते समय श्रृंखला में मध्यवर्ती प्रमाणपत्र शामिल करता है, लेकिन मैन्युअल रूप से .p12 निर्यात करते समय वे गायब हो सकते हैं। समाधान — Apple Certificate Authority वेबसाइट से मध्यवर्ती प्रमाणपत्र डाउनलोड करें और उन्हें CI एजेंट की कुंजी श्रृंखला में स्थापित करें।
समाप्त प्रमाणपत्र की समस्या हस्ताक्षर करते समय “This certificate has an invalid issuer” त्रुटि के रूप में प्रकट होती है। Apple Developer Portal प्रत्येक प्रमाणपत्र की स्थिति और समाप्ति तिथि दिखाता है। यदि कोई एप्लिकेशन पहले से समाप्त प्रमाणपत्र के साथ App Store में प्रकाशित है, तो वह काम करना जारी रखता है — App Store वितरण के लिए Apple के अपने प्रमाणपत्र का उपयोग करता है। हालांकि, नया बिल्ड अपलोड करने के लिए एक वैध Distribution प्रमाणपत्र की आवश्यकता होती है। Fastlane में प्रमाणपत्र स्वचालित रूप से बनाने और नवीनीकृत करने के लिए cert कमांड शामिल है।
अक्सर पूछे जाने वाले प्रश्न
नहीं, iOS और macOS के लिए अलग-अलग प्रमाणपत्र प्रकार जारी किए जाते हैं — iOS App Development और Mac Development। Apple Distribution प्रमाणपत्र भी प्लेटफ़ॉर्म के अनुसार अलग किया गया है। Apple Developer Portal में प्रमाणपत्र बनाते समय, आपको लक्ष्य प्लेटफ़ॉर्म निर्दिष्ट करना होगा — सभी प्लेटफ़ॉर्म के लिए कोई सार्वभौमिक प्रमाणपत्र मौजूद नहीं है।
आपको Certificates, Identifiers & Profiles के माध्यम से Apple Developer Portal में पुराने प्रमाणपत्र को निरस्त करना होगा। फिर Keychain Access के माध्यम से एक नया CSR बनाएं और एक नया प्रमाणपत्र जारी करें। पुराने प्रमाणपत्र से हस्ताक्षरित सभी एप्लिकेशन को फिर से हस्ताक्षरित करने और App Store में फिर से अपलोड करने की आवश्यकता होगी यदि अपडेट जारी करना आवश्यक हो।
एक Apple Developer Program खाता एक साथ अधिकतम दो Distribution प्रमाणपत्र और असीमित संख्या में Development प्रमाणपत्र की अनुमति देता है। Enterprise खातों की अलग सीमाएं होती हैं। यदि Distribution प्रमाणपत्रों की सीमा पहुंच गई है, तो नया बनाने से पहले मौजूदा प्रमाणपत्रों में से एक को निरस्त किया जाना चाहिए।
security उपयोगिता का उपयोग करें: security find-identity -v -p basic समाप्ति तिथियों के साथ कुंजी श्रृंखला में सभी प्रमाणपत्रों को सूचीबद्ध करता है। किसी विशिष्ट प्रमाणपत्र के लिए, उसका SHA-1 हैश निर्दिष्ट करें: security find-certificate -c “Developer” -p | openssl x509 -noout -enddate.
हां, प्रमाणपत्र एक विशिष्ट Apple Developer खाते (Team ID) से बंधे होते हैं। खाता बदलने पर, पुराने प्रमाणपत्र नए Team ID के लिए अमान्य हो जाते हैं। Xcode, Accounts Preferences में खाता बदलने पर, नई टीम के लिए स्वचालित रूप से नए प्रमाणपत्रों के निर्माण का अनुरोध करता है।
सारांश
हम एक मोबाइल एप्लिकेशन टर्नकी विकसित करेंगे
IT Sectr 2017 से स्टार्टअप और व्यवसायों के लिए iOS और Android एप्लिकेशन बनाता है। हम आपको सलाह देंगे और सर्वोत्तम समाधान प्रस्तावित करेंगे।
यह भी पढ़ें