2016-07-29 16 views
7

मैं एक जावाएफएक्स एप्लीकेशन तैनात कर रहा हूं और मुझे पूरा यकीन नहीं है कि क्या हस्ताक्षर किए जाने की आवश्यकता है और इसकी आवश्यकता नहीं है। यहां मेरे विचार हैं:जावाएफएक्स आवेदन - क्या हस्ताक्षर किए जाने की आवश्यकता है?

- स्थापना फ़ाइल: यह स्पष्ट रूप से हस्ताक्षरित होने की आवश्यकता है।

- EXE है कि आवेदन की शुरूआत:, मेरा मानना ​​है कि इस पर हस्ताक्षर किए जाने की आवश्यकता है, हालांकि यह एक छोटा सा अजीब लगता है क्योंकि यह मेरे कोड नहीं है।

- मेरी जेएआर फाइलें: मेरा मानना ​​है कि इन्हें भी हस्ताक्षर करने की आवश्यकता है, हालांकि मुझे यकीन नहीं है कि अगर कुछ नहीं होता तो मुझे भयानक होता है।

- लाइब्रेरी जेएआरएस जिन्हें मैंने इंटरनेट से पकड़ लिया है: मुझे ऐसा नहीं लगता कि मुझे इन पर हस्ताक्षर करना चाहिए। क्या कोई कारण है?

- जावा रनटाइम: मैं इस पर हस्ताक्षर करने के कोई कारण नहीं है अनुमान लगा रहा हूँ, और मैं शायद कुछ समझौते का उल्लंघन होता है, तो मुझे क्या करना।

- जेएनएलपी फ़ाइल: इसका उपयोग नहीं करते, इसे छूने का कोई कारण नहीं है।

क्या मैंने इसे ठीक से देखा है? क्या मैं सही फाइलों पर हस्ताक्षर कर रहा हूं?

उत्तर

4

मेरा एक दोस्त एक कहावत है "यह नहीं है कि तुम क्या किया था ... क्या आप अदालत में साबित कर सकते हैं यह है।"

इस सम्मान के साथ

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

डिजिटल हस्ताक्षर विशेष रूप से इन प्रकार की समस्याओं के लिए डिज़ाइन किए गए हैं।

इस सम्मान के साथ

, के 2 अलग वर्गीकरण भागों में अपने जवाब को विभाजित करते हैं:

  1. सॉफ्टवेयर आप जारी कर रहे हैं - अपने जार, jnlp, बंडल .exes, आदि

    • शामिल इन सभी को यह सुनिश्चित करने के लिए गाया जाना चाहिए कि आप अपने कोड के साथ किसी भी अनधिकृत tempering से प्रभावित नहीं हो सकते हैं। इससे कोई फर्क नहीं पड़ता कि आपने जेएनएलपी जारी किया है या नहीं। अगर कोई आक्रामक उत्पन्न करता है और यह आपके सामने आता है, तो उस जेएनएलपी के अपने जारी संस्करण को प्रमाणीकृत करने में आपकी विफलता ठीक नहीं होगी।
  2. अन्य लोगों द्वारा जारी किया गया सॉफ़्टवेयर। - आपके सिस्टम को काम करने के लिए आप जो कुछ भी उपयोग कर रहे हैं वह शामिल है। (JRE, libs)

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

    • सामान्य रूप से यह आपके विचार के अलावा सॉफ़्टवेयर स्रोतों की तुलना में जितना संभव हो उतना छोटा विश्वास रखना एक अच्छा विचार है। दुर्भाग्यवश, वहां कई समझौता या दुर्भावनापूर्ण libs हैं जो वास्तव में सुरक्षा जोखिम हैं।

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

आपके प्रश्न का उत्तर करने के लिए ... यह वास्तव में ग्राहक अंत बिंदु पर निर्भर करता है और आप की संभावना उन्हें एक सुरक्षा जोखिम (मैं सलाह देने के लिए आप हमेशा इस 100% होने की उम्मीद के साथ उपलब्ध कराने के लिए मुकदमा हो रही)। यदि आप नुकसान के लिए उत्तरदायी हैं ... आपको तदनुसार आगे बढ़ने की जरूरत है।

संक्षेप में ... इस quesiton का सबसे अच्छा संभव जवाब यह है कि सबसे खराब घटना होने पर स्वयं को कवर करने के लिए जो कुछ भी संभव हो।

0

क्या आपके आवेदन को उन्नत विशेषाधिकारों की आवश्यकता है? यदि इंस्टॉलर विंडोज को लक्षित कर रहा है तो आप प्रोग्राम फ़ाइलों को एप्लिकेशन इंस्टॉल करना चाहते हैं, तो आपके इंस्टॉलर पर हस्ताक्षर करने की आवश्यकता होगी। इसके बिना, विंडोज विशेषाधिकार वृद्धि अनुरोध के दौरान एक पीला बैनर देगा।

तो - अपने इंस्टॉलर पर हस्ताक्षर करें।

आवेदन शुरू करने वाले एक्सई को आदर्श रूप से भी हस्ताक्षर किया जाना चाहिए। लेकिन एक जावा आवेदन के लिए, यह शायद एक मूक बिंदु है। Exe पर हस्ताक्षर करना काफी आसान है, कि मैं इसे वैसे भी करता हूं।

साइन लांचर exe - वैकल्पिक, लेकिन मैं इसे

जार फ़ाइलों करना चाहते हैं। यह एक दिलचस्प है और आप जो लक्ष्य रखते हैं उस पर निर्भर करता है। हां, ओएस और अंतिम उपयोगकर्ता शायद आपके जार की हस्ताक्षरित या हस्ताक्षरित प्रकृति से अवगत नहीं होंगे। इसलिए आपको शायद जार की अखंडता को सत्यापित करना होगा। देखें https://docs.oracle.com/javase/tutorial/deployment/jar/signindex.html शायद लॉन्चर एप्लिकेशन लॉन्च चरण से पहले अखंडता जांच कर सकता है?

लाइब्रेरी जार, उपर्युक्त मामले के समान, यदि आप यह सुनिश्चित करना चाहते हैं कि कोई भी आपके आवेदन या किसी ऐसे उपयोग मामले में भिन्न अंतर में गिरा नहीं है, तो आपको इसे स्वयं सत्यापित करना होगा।

जावा रनटाइम यदि आप इसे शिपिंग करते हैं, तो क्या यह पहले से ही ओरेकल या आपके जेवीएम विक्रेता द्वारा हस्ताक्षरित नहीं है?

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

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