@ पास्कल-thivent के उत्कृष्ट जवाब के अलावा:
कुंजीस्टोर पासवर्ड दो उद्देश्यों है - अगर इसकी आपूर्ति नहीं keytool
आप जैसे नई सामग्री के साथ दुकान की सामग्री को बदलने मना कर दिया मौजूदा हटाने या नई प्रमाणपत्र प्रविष्टियों को जोड़कर।
बेशक यदि आपके पास keytool
(यह सेटयूड नहीं है) का उपयोग करके कीस्टोर फ़ाइल को अपडेट करने के लिए लेखन-पहुंच है, तो आप किसी अन्य टूल का उपयोग करके सामग्री को प्रतिस्थापित कर सकते हैं, जिसने पासवर्ड की जांच नहीं की है। और हम जानते हैं कि स्टोर और उसका प्रारूप पासवर्ड के बिना पठनीय है, इसलिए संभवतः हम वहां जो भी चाहते हैं उसे लिख सकते हैं।
वहीं जहां सत्यापन पासवर्ड आता है। जब स्टोर प्रविष्टियां लिखी जाती हैं, तो आपूर्ति किए गए स्टोर पासवर्ड का उपयोग स्टोर-सामग्री के पाचन की गणना करने के लिए किया जाता है, जैसा कि पासवर्ड द्वारा नमकीन होता है। यह एक तरफा हैश/डाइजेस्ट है, इसलिए पासवर्ड के बिना, आप यह सत्यापित नहीं कर सकते कि स्टोर सामग्री को छेड़छाड़ की गई है या नहीं। समान रूप से, कोई दुर्भावनापूर्ण जो पासवर्ड नहीं जानता है, वह स्टोर की सामग्री को संशोधित नहीं कर सकता है और उस पासवर्ड द्वारा उत्पादित पाचन-हैश उत्पन्न कर सकता है।
यही कारण है कि जब आप कोई पासवर्ड नहीं देते हैं, तो keytool
सिर्फ आपको चेतावनी देता है कि यह सत्यापित नहीं कर सकता कि स्टोर को छेड़छाड़ नहीं हुई है। वर्तमान के आधार पर पचाने
Enter keystore password: keytool error: java.io.IOException: Keystore was tampered with, or password was incorrect
keytool
पुन: बना हैश मौजूदा करने में असमर्थ था: यदि आप एक अमान्य पासवर्ड, या दुकान साथ छेड़छाड़ की गई है प्रदान करते हैं, तो आप एक अलग संदेश प्राप्त होगा स्टोर सामग्री और आपके द्वारा प्रदान किया गया पासवर्ड, इसलिए या तो पासवर्ड गलत है, या कीस्टोर से समझौता किया गया है - keytool
नहीं बता सकता है, लेकिन यह मानता है कि आप या स्टोर पढ़ने वाले सॉफ़्टवेयर को पता है।
ध्यान दें कि जबकि अवधि कुंजीस्टोर आम तौर पर प्रयोग किया जाता है, यह keystores और truststores को समान रूप से संदर्भित करता है। कम आम तौर पर, कीस्टोर अधिकतर पहचान स्टोर होता है और इसमें पहचान के रूप में पहचान और उनकी गुप्त, निजी कुंजी शामिल होती है। एक सर्वर द्वारा HTTPS चल रहा है। ट्रस्टस्टोर में अक्सर सार्वजनिक कुंजी और कोई निजी कुंजी नहीं होती है, इसलिए कोई रहस्य नहीं है, लेकिन यह निर्धारित करना महत्वपूर्ण है कि क्लाइंट ट्रस्ट की पहचान क्या है।
@ पास्कल, हाँ। जिस सर्वर का मैं उपयोग कर रहा हूं उसके पास सीए प्रमाणपत्र नहीं है, इसलिए इसे ट्रस्टस्टोर की आवश्यकता है ताकि वह सर्वर के लिए एसएसएल प्रमाणीकरण कर सके। – sixtyfootersdude
मुझे यह भी समझ में नहीं आता कि ट्रस्टस्टोर के लिए पासवर्ड की आवश्यकता क्यों है, जो एसएसएल का क्लाइंट हिस्सा है। विशेष रूप से, जब एक सीए शामिल नहीं है। क्या आपने इसे हल करने में कामयाब रहे हैं? –