- Хроники. - -
Шифрование секций. Web.config и App.config для «C# продолжающих».
Posted By Ikutsin On 24 сентября 2011 @ 9:40 In .NET C# | Comments Disabled
[1]В предыдущем посте о я показал насколько легко можно создать собственную секцию в конфигурационном файле [2]. Теперь я расскажу, как зашифровать любую секцию в конфиге, сделав это прозрачно для пользователя. С этим нам поможет встроенный в Windows DPAPI. DPAPI не требует пароля для шифрования и расшифровки, для этого используется встроенный в систему ключ привязанный к пользователю или машине. Когда технология только появилась, повсеместно практиковалось специальное консольное приложение aspnet_regiis, которое распространялось с ASP.NET. Но на деле этот подход работает для любого конфига и оказался проще:
Вот собственно метод шифрования:
private static void EncryptConfigSection(string sectionKey) { Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); ConfigurationSection section = config.GetSection(sectionKey); if (section != null) { if (!section.SectionInformation.IsProtected) { if (!section.ElementInformation.IsLocked) { section.SectionInformation.ProtectSection("DataProtectionConfigurationProvider"); section.SectionInformation.ForceSave = true; config.Save(ConfigurationSaveMode.Full); } } } }
Вызвать его можно в начале выполнения программы.Чтобы зашифровать параметры соединения к базе данных, вызов метода делается так:
EncryptConfigSection("connectionStrings");
Article printed from Хроники.:
URL to article: /2199-shifrovanie-sekcij-web-config-i-app-config-dlya-c-prodolzhayushhix
URLs in this post:
[1] Image: /wp-content/uploads/2011/09/security-199x300.jpg
[2] создать собственную секцию в конфигурационном файле: /2193-konfiguracionnye-sekcii-web-config-i-app-config-dlya-c-prodolzhayushhix
Click here to print.
Copyright © 2008 Все, что меня окружает. All rights reserved.