Хотя на первый взгляд это кажется простым, я столкнулся с парой препятствий.
Итак, я предоставляю шаги, которые для меня работали нормально (для шифрования раздела appSettings ) с использованием провайдера шифрования по умолчанию:
Шифрование разделов в web.config:
- Открыть командную оболочку администратора (запустите от имени администратора! ). Командная строка будет на
C:
, что предполагается для следующих шагов.
Далее предполагается, что приложение развернуто на D:\Apps\myApp
- замените его на путь, который вы используете в шаг 3.
cd "C:\Windows\Microsoft.NET\Framework64\v4.0.30319"
, в 32-битных системах Windows используйте Framework
вместо Framework64
cd /D "D:\Apps\myApp"
Примечание: Переключатель /D
автоматически изменит привод, если он отличается от вашего текущего привода. Здесь он изменит путь и диск, поэтому текущий каталог будет D:\Apps\myApp
впоследствии.
c:aspnet_regiis -pef appConfig .
Вы должны увидеть это сообщение:
Microsoft (R) ASP.NET RegIIS версия 4.0.30319.0
Утилита администрирования для установки и удаления ASP.NET на локальном компьютере.
Авторское право (C) Microsoft Corporation. Все права защищены.
Шифрование раздела конфигурации ...
Преемник!
Вы также можете Расшифровать разделы в web.config:
Это те же самые шаги, но с параметром -pdf
вместо -pef
для aspnet_regiis.
Также можно зашифровать другие разделы вашего web.config, например, вы можете зашифровать строки подключения раздел через:
aspnet_regiis -pe "connectionStrings" -app "/SampleApplication"
Подробнее об этом можно прочитать здесь.
Примечание: Приведенное выше шифрование прозрачно для вашего веб-приложения, т. Е. Ваше веб-приложение не распознает, что настройки зашифрованы.
Вы также можете использовать непрозрачное шифрование , например, используя DPAPI от Microsoft или AES вместе с AES Class * 1067 платформы.
Как это сделать с DPAPI Я описал здесь, в Stackoverflow . DPAPI работает очень похоже в том смысле, что использует ключи компьютера или учетные данные пользователя. Как правило, непрозрачное шифрование дает вам больше контроля, например, вы можете добавить SALT или использовать ключ на основе ключевой фразы пользователя. Если вы хотите узнать больше о том, как сгенерировать ключ из ключевой фразы, посмотрите здесь .