Зашифровать пользовательский раздел конфигурации в ASP.NET, используя aspnet_regiis - PullRequest
4 голосов
/ 06 июня 2011

Мы используем пользовательский раздел конфигурации (через NameValueConfigSection), чтобы содержать наши настройки. Эти настройки извлекаются из web.config через configSource.

Итак, записи в web.config выглядят примерно так:

  <configSections>
    <section name="customSettings" type="System.Configuration.NameValueSectionHandler" />
  </configSections>

  <customSettings configSource="config\customSettings.config" />

Мы хотим зашифровать этот файл «customSettings.config» на нашем производственном сервере, поэтому выполните эту команду, как рекомендовано Microsoft (здесь: http://msdn.microsoft.com/en-us/library/zhhddkxy.aspx)

aspnet_regiis -pe customSettings -site 4 -app /

И это дает следующий вывод:

Encrypting configuration section...
Succeeded!

Однако, это не удается вообще, оставляя файл точно таким, каким он был

(кстати, эта команда действительно работает при шифровании нестандартного раздела, такого как раздел с внешними связными строками)

Мне удалось написать небольшое консольное приложение, которое работает нормально, но мы действительно хотим использовать стандартные инструменты, чтобы сделать то, что должно быть стандартной операцией - может кто-нибудь сказать мне, если это ограничение или куда я иду неправильно?

Спасибо:)

1 Ответ

3 голосов
/ 06 июня 2011

Я сравниваю ваш код с this :

Чтобы зашифровать раздел connectionStrings с провайдером DPAPI с помощью хранилища ключей компьютера (конфигурация по умолчанию), выполните эту команду из командной строки:

aspnet_regiis -pe "connectionStrings" -app "/MachineDPAPI" -prov "DataProtectionConfigurationProvider"

где:

-pe указывает раздел конфигурации для шифрования.

-app указывает виртуальный путь веб-приложения. Если приложение является вложенным, укажите вложенный путь из корневого каталога, например «/test/aspnet/MachineDPAPI»

-prov указывает имя провайдера.

Интересно, нужно ли указывать название приложения? И / или провайдер?

И их версия заключает значения атрибутов в кавычки.

...