कीटेल फाइल जनरेट की गई कीटेल फाइल निजी और सार्वजनिक कुंजी के जोड़े को स्टोर करती है। कीस्टोर में संग्रहीत प्रत्येक जोड़ी या प्रविष्टि को एक अद्वितीय उपनाम द्वारा संदर्भित किया जाता है। संक्षेप में:
कीस्टोर प्रविष्टि = निजी + सार्वजनिक कुंजी जोड़ी = एक उपनाम द्वारा पहचाना गया
कीस्टोर अपने व्यक्तिगत पासवर्ड के साथ प्रत्येक निजी कुंजी की सुरक्षा करता है, और एक (संभवतः अलग) पासवर्ड के साथ पूरे कीस्टोर की अखंडता की भी रक्षा करता है।
उदाहरण के लिए, जब आप किसी Android Android उपकरण के निर्यात हस्ताक्षरित एप्लिकेशन पैकेज विकल्प का उपयोग करके Android एप्लिकेशन पर हस्ताक्षर करते हैं, तो आपको पहले कीस्टोर का चयन करने के लिए कहा जाता है, और फिर उस कीस्टोर से एकल उपनाम / प्रविष्टि / जोड़ी का चयन करने के लिए कहा जाता है। कीस्टोर और चुने हुए अन्य दोनों के लिए पासवर्ड प्रदान करने के बाद, एप्लिकेशन पर हस्ताक्षर किए जाते हैं और उस उपनाम के लिए सार्वजनिक कुंजी (प्रमाण पत्र) को एपीके में एम्बेड किया जाता है।
अब अपने प्रश्न का उत्तर देने के लिए, आप केवल उस एप्लिकेशन को एक अपडेट जारी कर सकते हैं, जिसे उसी उपनाम के साथ फिर से अपडेट पर हस्ताक्षर करके उपनाम 'फू' के साथ हस्ताक्षरित किया गया था। कीस्टोरी खोना जहां आपका उपनाम संग्रहीत है, आपको अपने ऐप के अपडेटेड संस्करण को जारी करने से रोक देगा।
हालाँकि, एक ऐप को नए उपनाम के साथ साइन इन करने का एक तरीका है, लेकिन इसमें की -स्टोर में कीटेल-कीक्लाइन का उपयोग करके किसी अन्य उपनाम को क्लोन करना शामिल है :
एक नया कीस्टोर प्रविष्टि बनाता है, जिसमें मूल प्रविष्टि के समान निजी कुंजी और प्रमाणपत्र श्रृंखला होती है।
मूल प्रविष्टि को उर्फ द्वारा पहचाना जाता है (जो "mykey" के लिए डिफॉल्ट करता है यदि प्रदान नहीं किया गया है)। नई (गंतव्य) प्रविष्टि को dest_alias द्वारा पहचाना जाता है। यदि कमांड लाइन पर कोई गंतव्य उपनाम नहीं दिया गया है, तो उपयोगकर्ता को इसके लिए प्रेरित किया जाता है।
यदि निजी कुंजी पासवर्ड कीस्टोर पासवर्ड से अलग है, तो प्रवेश केवल तभी क्लोन किया जाएगा जब एक वैध कीपास की आपूर्ति की जाती है। यह पासवर्ड है जिसका उपयोग उपनाम से जुड़ी निजी कुंजी की सुरक्षा के लिए किया जाता है। यदि कमांड लाइन पर कोई कुंजी पासवर्ड नहीं दिया गया है, और निजी कुंजी पासवर्ड कीस्टोर पासवर्ड से अलग है, तो उपयोगकर्ता को इसके लिए संकेत दिया जाता है। यदि वांछित है, तो क्लोन की गई प्रविष्टि में निजी कुंजी को अलग पासवर्ड से संरक्षित किया जा सकता है। यदि कमांड लाइन पर कोई विकल्प नहीं दिया गया है, तो उपयोगकर्ता को नई प्रविष्टि के पासवर्ड के लिए संकेत दिया जाता है (और इसे क्लोन प्रविष्टि की निजी कुंजी के समान होने के लिए चुन सकते हैं)।
अधिक जानकारी:
http://download.oracle.com/javase/1.5.0/docs/tooldocs/solaris/keytool.html
http://developer.android.com/guide/publishing/app-signing.html