Мысли вслух…

немного побаловался с ConfigurationManager

Автор: Янв.24.2011 Категория: Development, Silverlight

Совсем недавно понадобилось сделать шифрование секции connectionStrings в web.config.

Собственно шифрование базировалось на RSA с использованием 1024 битного ключа.

Ну чтож…

Самый простой вариант — использование RsaProtectedConfigurationProvider.

Все бы хорошо, все сделано (да делать там практически нечего :blush: ), но есть одно НО.

… потребовалась утилита, которая сделала бы первоначальную шифровку, осуществлять ее через aspnet_regiis не очень то и хотелось, скажем так лень, двигатель прогресса. Захотелось все по простому, а именно сделать утилиту, которой банально указываешь web.config + режим (crypt/decrypt).

Тут то я и столкнулся с проблемой…

Как указать произвольный web.config?

Используя метод OpenExeConfiguration можно встать на грабли, это не подходит.

Немного погуглив нашел следующий метод:


var configFileMap = new ExeConfigurationFileMap {ExeConfigFilename = dl.FileName};
var config = ConfigurationManager.OpenMappedExeConfiguration(configFileMap, ConfigurationUserLevel.None);

Вобщем то это и есть те 2 строки, которые позволяют указать произвольный config.

и еще 1 нюанс, шифрование секции я делал для WCF проекта, который хостится на IIS.

var extension = OperationContext.Current.Host.Extensions.Find<VirtualPathExtension>();
_config = WebConfigurationManager.OpenWebConfiguration(extension.ApplicationVirtualPath);

Таким способом читал web.config.

:,

Leave a Reply

:bad: :beer: :biggrin: :blink: :blush: :bomb: :confused: :cool: :crazy: :cry: :dont_know: :eek: :evil: :dance: :heart: :idea: :joke: :kiss: :lol: :mad: :music: :rose: :sad: :smile: :surprised: :tongue: :yahoo: :wall: :wink:
 

Поиск

Список друзей