2009-06-09 17 views
40

मुझे अपनी जेएआर फाइलों पर हस्ताक्षर क्यों करना चाहिए?मुझे अपनी जेएआर फाइलों पर हस्ताक्षर क्यों करना चाहिए?

मुझे पता है कि मुझे अपने क्लाइंट-साइड जेएआर फाइलों (एप्लेट्स युक्त) पर हस्ताक्षर करने की आवश्यकता है ताकि फाइल सिस्टम एक्सेस जैसी विशेष चीजें हो सकें, और ताकि खिड़कियों के नीचे कष्टप्रद बिट दिखाई न दे, लेकिन क्यों अन्य? और क्या मुझे अपने सर्वर-साइड जेएआर फाइलों को साइनलेट्स इत्यादि पर हस्ताक्षर करने की ज़रूरत है?

जेएआर पर हस्ताक्षर करने के लिए कब और कब के लिए कुछ बुनियादी नियमों की सराहना की जाएगी - धन्यवाद!

+0

http: // stackoverflow का डुप्लिकेट।कॉम/प्रश्न/3327020/व्हाट्स-द-पॉइंट-ऑफ-साइन-कोड-जैसे-जार? – Dan

उत्तर

36

संक्षिप्त उत्तर - नहीं, जब तक आपकी कंपनी नीति आपको मजबूर नहीं करती।

लंबा उत्तर
साइनिंग जार प्रभावी ढंग से आपके ग्राहक को बता रहा है "मैंने इसे बनाया है, और मैं गारंटी देता हूं कि यह आपके सिस्टम को गड़बड़ नहीं करेगा। अगर ऐसा होता है, तो प्रतिशोध के लिए मेरे पास आओ।" यही कारण है कि दूरस्थ सर्वर (एप्लेट/वेबस्टार्ट) से तैनात क्लाइंट-साइड समाधान में हस्ताक्षरित जार गैर-हस्ताक्षरित समाधानों की तुलना में उच्च विशेषाधिकारों का आनंद लेते हैं।

सर्वर-साइड समाधान पर, जहां आपको JVM सुरक्षा मांगों को कम करने की आवश्यकता नहीं है, यह गारंटी केवल आपके ग्राहक की मन की शांति के लिए है।
हस्ताक्षरित जार के बारे में बुरी बात यह है कि वे हस्ताक्षरित जार से धीमे लोड करते हैं। कितना धीमा? यह सीपीयू-बाध्य है, लेकिन मैंने लोडिंग समय में 100% से अधिक वृद्धि देखी है। इसके अलावा, पैच कठिन होते हैं (आपको जार फिर से हस्ताक्षर करना पड़ता है), कक्षा-पैच असंभव हैं (एक ही पैकेज में सभी कक्षाओं में एक ही हस्ताक्षर स्रोत होना चाहिए) और विभाजन जार एक घबराहट हो जाता है। उल्लेख नहीं है कि आपकी बिल्ड प्रक्रिया लंबी है, और उचित प्रमाण पत्रों की लागत है (स्वयं हस्ताक्षरित बेकार के बगल में है)।

इसलिए, जब तक आपकी कंपनी नीति आपको मजबूर नहीं करती है, सर्वर सर्वर पर जार पर हस्ताक्षर न करें, और हस्ताक्षर किए गए और गैर-हस्ताक्षरित संस्करणों में सामान्य जार रखें (क्लाइंट-साइड परिनियोजन पर हस्ताक्षर किए गए, गैर-हस्ताक्षरित जाएं सर्वर-साइड कोडबेस)।

+0

यह सीपीयू-बाध्य क्यों है? मुझे लगता है कि सीआरएल की जांच एक ऑनलाइन कार्रवाई है और इंटरनेट कनेक्शन की गति पर निर्भर करती है, शायद वहां विलंबता पर ध्यान केंद्रित करती है। –

+0

जब आप एक हस्ताक्षरित जार फ़ाइल लोड करते हैं, तो "सत्यापन" नामक एक प्रक्रिया होती है। हस्ताक्षर और सत्यापन दोनों महंगा हैं क्योंकि ऑपरेशन करने के लिए क्रिप्टोग्राफिक एल्गोरिदम को निष्पादित किया जाना चाहिए, जो भी हो। हालांकि: हस्ताक्षर नहीं/सत्यापित नहीं करने के संबंध में महंगा। मेरा मतलब है: परिस्थितियों के आधार पर विलुप्त समय एक मुद्दा हो सकता है या नहीं भी हो सकता है। –

+0

यह भयानक, भयानक सलाह है। – PopKernel

0

अन्य संदर्भों में प्रमाणपत्रों का उपयोग करने की तरह, एक जार फ़ाइल पर हस्ताक्षर करना ऐसा किया जाता है ताकि लोग इसका उपयोग कर सकें कि यह कहां से आया था। लोग भरोसा कर सकते हैं कि क्रिस कैरथर्स दुर्भावनापूर्ण कोड नहीं लिखेंगे, और इसलिए वे आपके एप्लेट को अपने फाइल सिस्टम तक पहुंचने की अनुमति देने के इच्छुक हैं। हस्ताक्षर उन्हें कुछ गारंटी देता है कि जार वास्तव में आपके द्वारा बनाया गया था, न कि एक अपवित्र या किसी ऐसे व्यक्ति द्वारा जिसे वे भरोसा नहीं करते हैं।

सर्वर-साइड या लाइब्रेरी जार के मामले में, आमतौर पर किसी को भी इस प्रकार की गारंटी प्रदान करने की आवश्यकता नहीं होती है। यदि यह आपका सर्वर है, तो आप जानते हैं कि आप किस जार का उपयोग कर रहे हैं और वे कहां से आए हैं, और आप शायद अपने कोड पर भरोसा न करें कि दुर्भावनापूर्ण न हो।

2

एक अच्छा कारण यह हो सकता है कि आप कभी भी किसी को भी अपने कोड द्वारा बुलाए जाने वाले संशोधित कक्षाओं में छेड़छाड़ करने में सक्षम न हो।

दुर्भाग्यवश इसमें स्वयं शामिल है :- डी तो यह केवल तभी किया जाना चाहिए जब आपको वास्तव में इसकी आवश्यकता हो। "मुहरबंद जार" अवधारणा की जांच करें।

1

एप्लेट्स के मामले में: 6u10 से, सूर्य जेआरई कम अवरोधक (6u12, आईआईआरसी) चेतावनी त्रिकोण (आकार और पारदर्शी खिड़कियों का समर्थन करने के लिए आवश्यक) के साथ चेतावनी बैनर को प्रतिस्थापित करता है। 6u10 जेएनएलपी सेवाओं एपीआई के माध्यम से नियंत्रित फ़ाइल का उपयोग भी अनुमति देता है।

कम से कम विशेषाधिकार का सिद्धांत कहता है कि आपको अपनी जार फ़ाइलों के वर्गों पर हस्ताक्षर नहीं करना चाहिए। सुरक्षा जरूरी नहीं है।

बस एक प्रमाणपत्र संवाद बॉक्स दिखा रहा है इसका अर्थ यह नहीं माना जाना चाहिए कि किसी वेब पेज की संपूर्ण सामग्री पर भरोसा किया जाना चाहिए।

संबंधित मुद्दे