5

मेरे पास JSON.NET जैसे विभिन्न तृतीय-पक्ष पुस्तकालयों का उपयोग करके बनाया गया एक एप्लिकेशन है।क्या मुझे डिजिटल रूप से तीसरे पक्ष के डीएलएल जैसे JSON.NET पर हस्ताक्षर करना चाहिए?

मैं यह सुनिश्चित करना चाहता हूं कि मेरे आवेदन को बनाने वाले सभी डीएलएल डिजिटल-हस्ताक्षरित हैं, जिसमें तीसरे पक्ष के लोग शामिल हैं। यह देखते हुए कि लेखक द्वारा हस्ताक्षरित नहीं हैं, क्या मैं बस तीसरे पक्ष के लोगों पर हस्ताक्षर कर सकता हूं?

उत्तर

2

क्या आप मजबूत नामकरण या प्रामाणिक हस्ताक्षर के बारे में बात कर रहे हैं? बाद वाले लोगों के साथ समस्या तब होती है जब प्रमाणीकरण-हस्ताक्षरित असेंबली लोड होती है, .NET प्रमाणपत्र को प्रमाणित करता है और कुछ कॉन्फ़िगरेशन में (उदाहरण के लिए जब ओसीएसपी की जांच की आवश्यकता होती है और यह पहुंच योग्य नहीं है) इसमें दर्जनों सेकंड लग सकते हैं। हमें इसके कारण हमारे असेंबली को प्रमाणीकरण और X.50 9 प्रमाण पत्र के साथ हस्ताक्षर करना बंद करना पड़ा।

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

.NET मजबूत-नामकरण (प्रमाणपत्र के बिना एक कीपैयर के साथ) आपके निजी व्यवसाय को कम या कम है।

अद्यतन: प्रामाणिकोड आमतौर पर पीई प्रारूप फ़ाइलों (EXE और DLL), SYS और CAB पर लागू होता है। मजबूत नामकरण शुद्ध .NET तकनीक है।

चेतावनी संदेश प्रमाणीकरण हस्ताक्षर के बारे में वार्तालाप करता है। इंस्टॉलर पर हस्ताक्षर करना आवश्यक है (यह निश्चित रूप से है) और संदेश से छुटकारा पाने के लिए पर्याप्त है जब तक कि सिस्टम नीतियां केवल हस्ताक्षरित अनुप्रयोगों को चलाने की अनुमति न दें (जिस स्थिति में आपके एप्लिकेशन का EXE भी हस्ताक्षरित होना चाहिए)।

+0

@EugeneMayevskiEldoS: धन्यवाद। उम, मुझे यकीन नहीं है - अंतर ऐसा कुछ नहीं है जिसे मैं जानता हूं। मैं बस इतना करने की कोशिश कर रहा हूं कि कोई भी "इस एप्लिकेशन पर हस्ताक्षर नहीं है" चेतावनी के बिना मेरा एप्लिकेशन इंस्टॉल/रन हो। –

+0

शायद मुझे डीएलएल की बजाय खुद को इंस्टॉलर पर हस्ताक्षर करना चाहिए? –

+0

अपने प्रश्नों के उत्तर देने के लिए एक अद्यतन जोड़ा गया –

5

बस इंटरनेट पर एक ही प्रश्न का उत्तर खोजने की कोशिश की (असफल)।

परिणाम के रूप में मैंने जो किया है, यह जांच लिया गया है कि Google और Adobe ने अपने उत्पादों को कैसे वितरित किया और पाया कि उनके फ़ोल्डर्स में प्रत्येक बाइनरी हस्ताक्षरित है, जिसमें तृतीय-पक्ष वाले लोग शामिल हैं।

उदाहरणों का युगल: 1. Google क्रोम में pepflashplayer.dll शामिल है, जिसे एडोब द्वारा कॉपीराइट किया गया है, लेकिन डिजिटल रूप से "Google Inc." द्वारा हस्ताक्षरित किया गया है। 2. एडोब रीडर में icudt40.dll शामिल है, जिसे आईबीएम द्वारा कॉपीराइट किया गया है, लेकिन डिजिटल रूप से "एडोब सिस्टम्स"

पर हस्ताक्षर किए गए हैं, इस प्रकार, मुझे लगता है कि सबसे अच्छा अभ्यास है कि आपके आवेदन को बनाने वाली सभी बाइनरी पर हस्ताक्षर करना, तीसरे सहित -party वाले। यह समझ में आता है क्योंकि यह आपके ग्राहक की मशीन पर होने पर छेड़छाड़ से बचने में कम से कम आसानी से पता लगाने में मदद करता है।