'Play ऐप्लिकेशन साइनिंग' सुविधा का इस्तेमाल क्यों करना चाहिए? 'Play ऐप्लिकेशन साइनिंग' सुविधा के लिए रजिस्टर करने से, अपने पासकोड हमेशा के लिए खोने और छेड़छाड़ से सुरक्षित किए जा सकते हैं. इसके अलावा, इससे आपको Android ऐप्लिकेशन बंडल (.aab) के लिए, बेहतरीन सुविधाएं भी मिलती हैं. Google को ऐप्लिकेशन बंडल से जनरेट किए गए, ऑप्टिमाइज़ किए गए डिस्ट्रिब्यूशन APK साइन करने की अनुमति देने पर, आपको कई अहम सेवाओं का ऐक्सेस मिलता है. जैसे, Gemini के मॉडल से अपने-आप सुरक्षा मिलनाऔर स्ट्रिंग का अपने-आप अनुवाद होना. गेम में Play Games Sidekick, डाउनलोड होने के दौरान खेलने की सुविधा, और पैसे चुकाकर डाउनलोड किए जाने वाले गेम के मुफ़्त वर्शन आज़माने की सुविधा जैसी अतिरिक्त ऑटोमैटिक सेवाओं का ऐक्सेस मिलता है.
'Play ऐप्लिकेशन साइनिंग' सुविधा को कॉन्फ़िगर करने के लिए, आपके पास एडमिन के तौर पर मिली अनुमति होनी चाहिए.
सबसे ज़रूरी सिद्धांत
'Play ऐप्लिकेशन साइनिंग' सुविधा का इस्तेमाल करने पर, आपको दो अलग-अलग पासकोड का इस्तेमाल करना होता है. इनके बीच के अंतर और इनके टेक्निकल फ़ॉर्मैट समझना बहुत ज़रूरी है, ताकि आपको तीसरे पक्ष के एपीआई के साथ पुष्टि करने से जुड़ी समस्याओं का सामना न करना पड़े.
| पासकोड का टाइप | इसका मालिकाना हक किसके पास है? | तकनीकी जानकारी और मकसद |
|
अपलोड पासकोड |
आपके पास (इसे सुरक्षित रखें!) |
|
| ऐप्लिकेशन साइनिंग पासकोड |
Google Play |
|
| क्वांटम-रेडी | Google Play |
|
ध्यान दें: ज़्यादा से ज़्यादा सुरक्षा के लिए, आपका अपलोड पासकोड और ऐप्लिकेशन साइनिंग पासकोड अलग-अलग होना चाहिए.
Google आपके ऐप्लिकेशन को कैसे साइन करता है: जब Google, ऐप्लिकेशन साइनिंग पासकोड का इस्तेमाल करके APK जनरेट करता है और उन पर साइन करता है, तब वह apksigner का इस्तेमाल करके आपके ऐप्लिकेशन के मेनिफ़ेस्ट में दो स्टैंप (com.android.stamp.source और com.android.stamp.type) जोड़ता है. इन स्टैंप से यह पक्का होता है कि आपके सभी APK को सिग्नेचर करने वाले असल व्यक्ति तक सुरक्षित तरीके से ट्रेस किया जा सकता है.
'Play ऐप्लिकेशन साइनिंग' सुविधा सेट अप करना
सेटअप करने की प्रोसेस इस बात पर निर्भर करती है कि आपको नया ऐप्लिकेशन पब्लिश करना है या किसी मौजूदा ऐप्लिकेशन को माइग्रेट करना है.
नए ऐप्लिकेशन के लिए
- नया ऐप्लिकेशन बनाएं: आपका ऐप्लिकेशन, Google के जनरेट किए गए पासकोड के साथ, क्वांटम-रेडी और हाइब्रिड साइनिंग में अपने-आप रजिस्टर हो जाएगा. हम एक अलग क्लासिकल पासकोड भी जनरेट करते हैं. इसका इस्तेमाल उन सिग्नेचर ब्लॉक में किया जाता है जो Android 16 या इससे पुराने वर्शन वाले डिवाइस पर काम करते हैं.
- अपलोड पासकोड बनाएं: अपनी रिलीज़ के ऐप्लिकेशन बंडल पर साइन करने के लिए, कीस्टोर जनरेट करें. इसे Android Studio में जनरेट किया जा सकता है या कमांड लाइन से Java keytool सुविधा का इस्तेमाल करके जनरेट किया जा सकता है.
- अपना ऐप्लिकेशन बंडल अपलोड करें: Play Console पर जाएं और नई रिलीज़ तैयार करें. डिफ़ॉल्ट रूप से, जब आपका ऐप्लिकेशन बंडल अपलोड किया जाता है, तब Google के जनरेट किए गए पासकोड के साथ आपका ऐप्लिकेशन, क्वांटम-रेडी और हाइब्रिड साइनिंग में अपने-आप रजिस्टर हो जाता है.
- ऐप्लिकेशन साइनिंग पासकोड बदलना (ज़रूरी नहीं है): जो अनुभवी डेवलपर अपने पासकोड को खुद मैनेज करना चाहते हैं वे इस डिफ़ॉल्ट पासकोड को बदल सकते हैं. हालांकि, उन्हें ऐसा ओपन टेस्टिंग ट्रैक या प्रोडक्शन ट्रैक में रिलीज़ रोल आउट होने से पहले करना होगा. इसके लिए, Google Play की सुरक्षा सुविधाएं > Play Store पर डिस्ट्रिब्यूशन > Play ऐप्लिकेशन साइनिंग पर जाएं पर जाएं. इसके बाद, ऐप्लिकेशन साइनिंग पासकोड बदलें पर क्लिक करें. इनमें से कोई विकल्प चुना जा सकता है:
- इस डेवलपर खाते से जुड़े किसी अन्य ऐप्लिकेशन के पासकोड का ही इस्तेमाल करें
- ऐप्लिकेशन साइनिंग पासकोड की कॉपी उपलब्ध कराएं. इसके लिए, निर्देशों का पालन करें
मौजूदा ऐप्लिकेशन के लिए
अगर सभी पासकोड खुद मैनेज किए जाते हैं और APK अपलोड किए जाते हैं, तो ऐप्लिकेशन बंडल और Google Play की सुविधाओं का फ़ायदा पाने के लिए, 'Play ऐप्लिकेशन साइनिंग' सुविधा पर अपग्रेड किया जा सकता है.
- Play Console में, Google Play की सुरक्षा सुविधाएं > Play Store पर डिस्ट्रिब्यूशन > Play ऐप्लिकेशन साइनिंग पर जाएं.
- अगर आपने अब तक सेवा की शर्तें स्वीकार नहीं की हैं, तो उन्हें स्वीकार करें.
- अपने ओरिजनल पासकोड की कॉपी ट्रांसफ़र करें: PEPK टूल डाउनलोड करें. इसके बाद, किसी भी डेटाबेस से अपने मौजूदा ऐप्लिकेशन साइनिंग पासकोड को एन्क्रिप्ट करने और अपलोड करने के लिए, सिलसिलेवार निर्देशों का पालन करें.
एपीआई उपलब्ध कराने वाली कंपनियों के साथ रजिस्टर करना
अगर आपका ऐप्लिकेशन Google Maps, OAuth या Facebook Login जैसे एपीआई इस्तेमाल करता है, तो ये सेवाएं आपके ऐप्लिकेशन की पुष्टि करने के लिए, ऐप्लिकेशन साइनिंग पासकोड के फ़िंगरप्रिंट का इस्तेमाल करती हैं.
फ़ाइनल APK पर Google साइन करता है, इसलिए आपको सिर्फ़ अपने लोकल अपलोड पासकोड को ही नहीं, बल्कि Google के ऐप्लिकेशन साइनिंग पासकोड के फ़िंगरप्रिंट को भी एपीआई उपलब्ध कराने वाली कंपनियों के साथ रजिस्टर करना होगा.
- Google Play की सुरक्षा सुविधाएं लागू > Play Store पर डिस्ट्रिब्यूशन > Play ऐप्लिकेशन साइनिंग पर जाएं पर जाएं.
- स्क्रोल करके, ऐप्लिकेशन साइनिंग पासकोड सेक्शन पर जाएं.
- ज़रूरी फ़िंगरप्रिंट (SHA-1 या SHA-256) कॉपी करें. अगर आपका ऐप्लिकेशन, क्वांटम-रेडी हाइब्रिड साइनिंग का इस्तेमाल करता है, तो आपको तीन पासकोड के लिए फ़िंगरप्रिंट कॉपी करने होंगे और हर एक को एपीआई उपलब्ध कराने वाली कंपनियों के साथ रजिस्टर करना होगा: नए डिवाइसों पर आपके नए क्लासिकल और पीक्यूसी पासकोड इस्तेमाल किए जाते हैं और पुराने डिवाइसों पर आपके क्लासिकल पासकोड इस्तेमाल किए जाते हैं.
- इन फ़िंगरप्रिंट को एपीआई उपलब्ध कराने वाली कंपनी के कंसोल में चिपकाएं. उदाहरण के लिए, Google Cloud Console.
सलाह: अगर Android ऐप्लिकेशन के लिंक इस्तेमाल किए जाते हैं, तो इन फ़िंगरप्रिंट के साथ assetlinks.json फ़ाइल को अपडेट करें.
अपने पासकोड मैनेज करना
ऐप्लिकेशन साइनिंग पासकोड को अपग्रेड करना
अगर आपके ऐप्लिकेशन साइनिंग पासकोड के साथ कोई छेड़छाड़ की जाती है या आपको क्रिप्टोग्राफ़िक तरीके से ज़्यादा सुरक्षित पासकोड की ज़रूरत है, तो Android 17 (एपीआई लेवल 37) और इसके बाद के वर्शन पर इंस्टॉल किए जाने वाले सभी ऐप्लिकेशन के लिए, साल में एक बार पासकोड को अपग्रेड करने का अनुरोध किया जा सकता है.
Android के अलग-अलग वर्शन पर, नीति उल्लंघन ठीक करने का तरीका (एनफ़ोर्समेंट):
- Android 17 (एपीआई लेवल 37) और इसके बाद के वर्शन पर: Android प्लैटफ़ॉर्म, अपग्रेड किए गए क्वांटम-रेडी हाइब्रिड पासकोड को पूरी सख्ती से लागू करता है. APK सिग्नेचर स्कीम v3.2 देखें.
- Android 13 (एपीआई लेवल 33) से Android 16 (एपीआई लेवल 36) पर: Android प्लैटफ़ॉर्म, आपके नए क्लासिकल पासकोड को पूरी सख्ती से लागू करता है. APK सिग्नेचर स्कीम v3.1 देखें
- Android 7 (एपीआई लेवल 24) से Android 12 (एपीआई लेवल 32) पर: Android प्लैटफ़ॉर्म, अपग्रेड किए गए पासकोड को खुद लागू नहीं करता है. हालांकि, यह अब भी नए क्लासिकल पासकोड की पहचान करता है. Google Play Protect अतिरिक्त सुरक्षा देने के लिए यह पुष्टि करता है कि ऐप्लिकेशन के अपडेट, नए क्लासिकल पासकोड से साइन किए गए हैं या नहीं. ऐसा तब तक होता है, जब तक उपयोगकर्ता इसे बंद न कर दें.
अहम जानकारी:
- शेयर किया गया डेटा: प्लैटफ़ॉर्म, Android S (एपीआई लेवल 32) और इससे पहले के वर्शन पर, अपग्रेड किए गए पासकोड को लागू नहीं करता. इसलिए, अगर डेटा शेयर करने के लिए कई ऐप्लिकेशन में एक ही पासकोड का इस्तेमाल किया जाता है, तो Android के पुराने वर्शन, कस्टम अनुमति शेयर करने जैसी सुविधाओं के लिए सिर्फ़ लेगसी पासकोड की पहचान करेंगे.
अपग्रेड करने का तरीका:
- Google Play की सुरक्षा सुविधाएं > Play Store पर डिस्ट्रिब्यूशन > Play ऐप्लिकेशन साइनिंग पर जाएं पर जाएं.
- 'ऐप्लिकेशन साइनिंग पासकोड' सेक्शन में जाकर, पासकोड अपग्रेड करें पर क्लिक करें.
- अपग्रेड करने का तरीका चुनें:
- Google Play को एक नया ऐप्लिकेशन साइनिंग पासकोड जनरेट करने की अनुमति दें (सुझाव)
- उसी ऐप्लिकेशन साइनिंग पासकोड का इस्तेमाल करें जिसे इस डेवलपर खाते के किसी अन्य ऐप्लिकेशन के लिए इस्तेमाल किया जाता है
- ऐप्लिकेशन साइनिंग पासकोड की कॉपी उपलब्ध कराएं. इसके लिए, निर्देशों का पालन करें
- सेव करें पर क्लिक करें.
- एपीआई उपलब्ध कराने वाली कंपनियों के साथ अपने नए पासकोड के फ़िंगरप्रिंट रजिस्टर करें. अगर आपका ऐप्लिकेशन, क्वांटम-रेडी हाइब्रिड साइनिंग का इस्तेमाल करता है, तो आपको दो नए पासकोड के लिए फ़िंगरप्रिंट रजिस्टर करने होंगे. जैसे, आपके नए क्लासिकल पासकोड और आपके नए पीक्यूसी पासकोड.
अपलोड पासकोड को रीसेट करने का अनुरोध करना
अगर आपका अपलोड पासकोड खो जाता है या आपको लगता है कि उससे छेड़छाड़ की गई है, तो भी आपके पास अपने ऐप्लिकेशन का ऐक्सेस रहेगा.
- Android Studio में नया अपलोड पासकोड बनाएं.
- सर्टिफ़िकेट को PEM फ़ाइल फ़ॉर्मैट में एक्सपोर्ट करें:
keytool -export -rfc -keystore upload-keystore.jks -alias upload -file upload_certificate.pem
keytool और कीस्टोर के पाथ के बारे में ज़्यादा जानकारी के लिए, Android Studio की ऐप्लिकेशन साइनिंग गाइड देखें. - PEM फ़ाइल जनरेट होने के बाद, Play Console में रीसेट करने का अनुरोध सबमिट करें.
- Google Play की सुरक्षा सुविधाएं > Play Store की सुरक्षा सेवा > 'Play ऐप्लिकेशन साइनिंग' सुविधा मैनेज करें पर जाएं.
- अपलोड पासकोड का सर्टिफ़िकेट सेक्शन में जाकर, अपलोड पासकोड को रीसेट करने का अनुरोध करें पर क्लिक करें.
- पासकोड को रीसेट करने की वजह डालें.
- अपनी
upload_certificate.pemफ़ाइल अपलोड करें और अनुरोध करें पर क्लिक करें.
सबसे सही तरीके और डिस्ट्रिब्यूशन के अन्य तरीके
- सुरक्षा: सभी उपयोगकर्ताओं के लिए दो चरणों में पुष्टि करने की सुविधा लागू करके, Play Console के ऐक्सेस को सुरक्षित रखें.
- ऐप्लिकेशन बंडल को बेहतर बनाने की सुविधाएं: 'Play ऐप्लिकेशन साइनिंग' सुविधा के लिए रजिस्टर करने पर, आपको अपने ऐप्लिकेशन बंडल बेहतर बनाने की सुविधाओं का ऐक्सेस मिलता है. इन सुविधाओं को लागू करने के लिए, नई रिलीज़ बनाते समय सबसे पहले कॉन्फ़िगरेशन में ज़रूरी बदलाव करें. इसके बाद, नया ऐप्लिकेशन बंडल अपलोड करें.
- Google Play के अलावा अन्य प्लैटफ़ॉर्म पर ऐप्लिकेशन डिस्ट्रिब्यूट करना: अगर आपको अन्य ऐप स्टोर के ज़रिए ऐप्लिकेशन डिस्ट्रिब्यूट करना है और हर जगह एक ही साइनिंग पासकोड का इस्तेमाल करना है, तो आपके पास दो विकल्प हैं. [1] Google को ऐप्लिकेशन साइनिंग पासकोड जनरेट करने की अनुमति दें और Play Console या Play Developer API से साइन किया गया यूनिवर्सल APK डाउनलोड करें, ताकि उसे अन्य जगहों पर डिस्ट्रिब्यूट किया जा सके. इसके लिए, Play Console में टेस्ट और रिलीज़ > नई रिलीज़ और बंडल पर जाएं. इसके बाद, अपना ऐप्लिकेशन बंडल चुनें और डाउनलोड टैब पर क्लिक करें या [2] सभी ऐप स्टोर पर इस्तेमाल करने के लिए एक ऐप्लिकेशन साइनिंग पासकोड जनरेट करें. ऐसा करने के बाद, 'Play ऐप्लिकेशन साइनिंग' सुविधा को कॉन्फ़िगर करते समय, अपने पासकोड की एक कॉपी Google को ट्रांसफ़र करें. इस बारे में ज़्यादा जानें कि ऐप्लिकेशन के अपडेट कैसे काम करते हैं और अलग-अलग स्टोर पर अपडेट की सुविधा चालू या बंद करने के लिए आपके पास क्या विकल्प हैं.
- टेस्टिंग: संगठन में काम करने वालों के साथ ऐप्लिकेशन शेयर करने की सुविधा इस्तेमाल करके यह टेस्ट करें कि Google Play उपयोगकर्ताओं को क्या उपलब्ध कराएगा या ऐप्लिकेशन बंडल एक्सप्लोरर से डिवाइस के हिसाब से APK डाउनलोड करें और उन्हें adb install-multiple *.apk का इस्तेमाल करके डिवाइस पर इंस्टॉल करें.
- APK सिग्नेचर स्कीम v4: 'Play ऐप्लिकेशन साइनिंग' सुविधा, ज़रूरी शर्तें पूरी करने वाले ऐप्लिकेशन के लिए v4 साइनिंग प्रोसेस का इस्तेमाल अपने-आप करती है. ऐसा इसलिए किया जाता है, ताकि Android 11 या इसके बाद के वर्शन वाले डिवाइसों पर ऑप्टिमाइज़ किए गए डिस्ट्रिब्यूशन की सुविधा काम कर सके. आपको कोई कार्रवाई करने की ज़रूरत नहीं है. इसमें वे सभी ऐप्लिकेशन शामिल नहीं हैं जो क्वांटम-रेडी हाइब्रिड साइनिंग का इस्तेमाल करते हैं, क्योंकि यह सुविधा अभी v4 साइनिंग के साथ काम नहीं करती है. तकनीकी फ़ायदों के बारे में ज़्यादा जानने के लिए, APK सिग्नेचर स्कीम v4 से जुड़ा दस्तावेज़ पढ़ें.
Google Cloud के खुद होस्ट किए गए प्रोजेक्ट
अगर आपको सुरक्षा से जुड़ी कुछ खास शर्तों को पूरा करना है (उदाहरण के लिए, ओईएम पासकोड इस्तेमाल करना), तो Play Developer API का इस्तेमाल करके, Google Cloud के खुद होस्ट किए गए प्रोजेक्ट की मदद से 'Play ऐप्लिकेशन साइनिंग' सुविधा के लिए रजिस्टर किया जा सकता है.
यह एक स्टैंडर्ड सेटअप नहीं है. हम इसका इस्तेमाल करने का सुझाव नहीं देते. खुद होस्ट किए गए प्रोजेक्ट का इस्तेमाल करने का मतलब है कि ऐप्लिकेशन साइनिंग से जुड़ी सभी कार्रवाइयों की पूरी ज़िम्मेदारी आपकी होगी.
- इससे Google Play को आपदा के बाद डेटा की बहाली जैसी ज़रूरी सुविधाएं लागू करने से रोका जा सकेगा.
- Google किसी मौजूदा रिलीज़ को न तो फिर से जनरेट कर सकता है और न ही उसे ठीक कर सकता है. रिलीज़ से जुड़ी किसी भी गड़बड़ी को ठीक करने के लिए, आपको नई रिलीज़ अपलोड करनी होगी.
- इस कॉन्फ़िगरेशन में, ऑप्टिमाइज़ेशन की बेहतर सुविधाएं, Google Play की कुछ बेहतर सुविधाएं, और क्वांटम-रेडी हाइब्रिड साइनिंग जैसी सुरक्षा सुविधाएं उपलब्ध नहीं हो सकती हैं.
- Cloud KMS में अपने साइनिंग पासकोड जनरेट या इंपोर्ट करें. साथ ही, पक्का करें कि जगह की जानकारी को अमेरिका के कई इलाकों के तौर पर कॉन्फ़िगर किया गया हो. इसके बाद, KMS पासकोड इंपोर्ट करने से जुड़े दस्तावेज़ में दिए गए निर्देशों का पालन करें.
- साइनिंग पासकोड बदलने के लिए, enrollApp तरीके का इस्तेमाल करें. साइनिंग पासकोड सिर्फ़ तब बदले जा सकते हैं, जब ऐप्लिकेशन को ओपन टेस्टिंग या प्रोडक्शन ट्रैक पर रिलीज़ न किया गया हो.
- ऐप्लिकेशन पब्लिश करने के बाद साइनिंग पासकोड को अपग्रेड करने के लिए, rotateAppSigningKey तरीके का इस्तेमाल करें.
- Google Play Developer API से पुष्टि करने वाले क्लाइंट या सेवा खाते को ये आईएएम भूमिकाएं दें:
- पक्का करें कि आपके पास क्रिप्टोग्राफ़िक ऑपरेशन करने के लिए, ज़रूरत के मुताबिक कोटा है. खास तौर पर, हमारा सुझाव है कि asymmetric_requests के लिए कोटा को कम से कम 350 क्यूपीएस तक बढ़ाएं.
- साइनिंग पासकोड कैसे इस्तेमाल किए जाते हैं, यह देखने के लिए अपने Cloud KMS प्रोजेक्ट में ऑडिट लॉग चालू करें.