जो मैं जानना चाहता हूं वह कॉन्फ़िगरेशन फ़ाइल में कनेक्शन स्ट्रिंग को एन्क्रिप्ट करने का निश्चित दृष्टिकोण है। यहाँ मेरी प्रश्न हैं:नेट एन्क्रिप्शन
मशीन स्तर एन्क्रिप्शन का उपयोग करना, किसी ने मेरे सर्वर कनेक्शन तार की सामग्री पढ़ने की एक छोटी सी नेट प्रोग्राम लिखने तक पहुँचने नहीं कर सकते?
यदि मैं एंटरप्राइज़ वातावरण में उपयोगकर्ता मशीनों पर अपना आवेदन तैनात कर रहा हूं, और एप्लिकेशन में कॉन्फ़िगरेशन फ़ाइल में कनेक्शन स्ट्रिंग हैं, तो मैं कैसे सुनिश्चित कर सकता हूं कि केवल मेरा एप्लिकेशन इसे डिक्रिप्ट कर सकता है? परिदृश्य विशेष रूप से क्लिकऑन परिनियोजन परिदृश्य में दिलचस्प है। मैंने प्रकाशक सर्वर पर अनएन्क्रिप्टेड कॉन्फ़िगरेशन को संग्रहीत करने और मशीन स्तर पर एन्क्रिप्ट करने के बारे में पढ़ा है जब ऐप डाउनलोड, स्थापित और पहली बार निष्पादित किया जाता है। यह मेरे लिए इतना गलत लगता है - कनेक्शन तार तार के माध्यम से असुरक्षित ज़िप, और डाउनलोड और आवेदन निष्पादन के बीच थोड़ी सी अवधि के लिए असुरक्षित बैठे।
क्या मेरे पास सार्वजनिक और निजी कुंजी हो सकती है, मेरे ऐप पर हस्ताक्षर करें, कॉन्फ़िगरेशन फ़ाइल को कुंजी के साथ एन्क्रिप्ट करें, और जब उपयोगकर्ता इसे निष्पादित करता है, तो डिक्रिप्शन केवल हस्ताक्षरित एप्लिकेशन से ही संभव होगा?
चूंकि मैं क्लिकऑन का उपयोग कर रहा हूं, इसलिए मुझे कोड में एन्क्रिप्टेड संवेदनशील जानकारी हो सकती है या एम्बेडेड किया जा सकता है, क्योंकि क्लिकऑन एक बदलाव का पता नहीं लगाएगा जब तक संस्करण # परिवर्तन नहीं होता है। इसलिए, अगर मैं अपनी कनेक्शन स्ट्रिंग को बदलता हूं तो मुझे पुन: संकलित करने की आवश्यकता है, तो app.config का बिंदु म्यूट हो गया है। सर्वर, क्लाइंट और बीच में कनेक्शन स्ट्रिंग की सुरक्षा प्राप्त करने के लिए, कॉन्फ़िगरेशन फ़ाइल का उपयोग करके, मैं किन अन्य दृष्टिकोण ले सकता हूं?
क्या आप कृपया अपने पहले प्रश्न का गहराई से वर्णन कर सकते हैं? "मशीन-स्तरीय" एन्क्रिप्शन क्या है? – nightcoder
जहां तक मुझे पता है कि आप मशीन-स्तर और उपयोगकर्ता-स्तर पर एन्क्रिप्ट करने के लिए अंतर्निहित एन्क्रिप्शन का उपयोग कर सकते हैं। उदाहरण के लिए, configSection.SectionInformation.ProtectSection ("RSAProtectedConfigurationProvider") का उपयोग करना; या aspnet_regiis.exe –
के माध्यम से शायद कल आपके पिछले प्रश्न पर विस्तृत जानकारी देने के लिए और अधिक समझदारी होगी (http://stackoverflow.com/questions/890396/click-once-how-to-encrypt-connection-strings) से अलग-अलग शब्द का डुप्लिकेट प्रश्न बनाएं। – Pwninstein