2013-02-22 54 views
7

मैं Windows Azure से साझा की गई वेबसाइट का उपयोग कर रहा हूं। मैं अपने web.config के हिस्सों को एन्क्रिप्ट करना चाहता हूं, हालांकि, मुझे यह त्रुटि मिलती है:वेब.कॉन्फिग एन्क्रिप्ट करें Windows Azure

प्रदाता 'रुपये संरक्षित कॉन्फ़िगरेशनप्रोवाइडर' का उपयोग करके डिक्रिप्ट करने में विफल। प्रदाता से त्रुटि संदेश: आरएसए कुंजी कंटेनर खोला नहीं जा सका।

मेरे पास मेरी साइट में एक पृष्ठ है जो उस फ़ाइल को एन्क्रिप्ट करेगा और हालांकि, कुछ घंटों के बाद मुझे यह त्रुटि मिलती है। क्या मुझे अपनी मशीन कुंजी को Azure पर भेजने की ज़रूरत है या क्या उनके पास इसका उपयोग किया जा सकता है?

मेरी कॉन्फ़िग फ़ाइल एन्क्रिप्ट करने के लिए, मैं इस कोड का उपयोग करें:

/// <summary> 
    /// About view for the website. 
    /// </summary> 
    /// <returns>Action Result.</returns> 
    public ActionResult About() 
    { 
     Configuration objConfig = 
      WebConfigurationManager.OpenWebConfiguration(Request.ApplicationPath); 
     AppSettingsSection objAppsettings = 
      (AppSettingsSection)objConfig.GetSection("appSettings"); 
     if (!objAppsettings.SectionInformation.IsProtected) 
     { 
      objAppsettings.SectionInformation.ProtectSection(
          "RsaProtectedConfigurationProvider"); 
      objAppsettings.SectionInformation.ForceSave = true; 
      objConfig.Save(ConfigurationSaveMode.Modified); 
     } 

     return View(); 
    } 
+0

मुझे यकीन नहीं है कि आप इसे कैसे एन्क्रिप्ट कर रहे हैं/डिक्रिप्ट कर रहे हैं लेकिन Azure में मशीन कुंजी आपके स्थानीय रूप से अलग होगी। और मुझे विश्वास है कि प्रत्येक इंस्टेंस में एक अलग मशीन कुंजी होगी। तो फिर भी आप इसे एन्क्रिप्ट कर रहे हैं, आपको इसे ध्यान में रखना होगा। क्या आप हमें इस एन्क्रिप्शन/डिक्रिप्शन के बारे में अधिक जानकारी प्रदान कर सकते हैं? – Jaxidian

+0

मैंने कुछ नया कोड जोड़ा, धन्यवाद। मैंने देखा है कि एन्क्रिप्टेड कोड कुछ घंटों के लिए काम करता है, तो ब्रेक होता है। ऐसा लगता है कि मेरा कोड एक नए उदाहरण में भेजा गया है, जिसकी कुंजी चालू है। –

उत्तर

4

यह बिल्कुल नहीं हो सकता है आप के लिए क्या देख रहे हैं, लेकिन आप रनटाइम पर AppSettings अधिलेखित करने के लिए Azure डैशबोर्ड में विन्यास टैब इस्तेमाल कर सकते हैं इसलिए web.config किसी वास्तविक संवेदनशील डेटा को संग्रहीत नहीं करता है।

http://www.windowsazure.com/en-us/manage/services/web-sites/how-to-configure-websites/#howtochangeconfig

App Settings – Specify name/value pairs that will be loaded by your web application on start up. For .NET sites, these settings will be injected into your .NET configuration AppSettings at runtime, overriding existing settings. For PHP and Node sites these settings will be available as environment variables at runtime.

2

मैं अगर यह अपने प्रश्न के समय उपलब्ध था यकीन नहीं है लेकिन माइक्रोसॉफ्ट में एक इंजीनियर सिर्फ विंडोज Azure के लिए एक नया ProtectedConfigurationProvider के साथ आया था। यहां एक लिंक है: https://code.msdn.microsoft.com/Encrypt-Configuration-5a8e8dfe#content

उन्होंने here पर क्या करना है, इस पर विस्तृत कदम प्रदान किए हैं।