Вы можете зашифровать только те части файла .config, которые содержат конфиденциальный материал, в данном случае строки подключения.
Ответ: aspnet_regiis.exe
Расположение может варьироваться в зависимости от вашей системы и версии .NET, но поиск файлов должен сузить его.
Допустим, у вас есть программа myapp, расположенная в папке c:\dotnetaps\myapp.
Я использую следующую команду для шифрования части «connectionStrings» файла web.config:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -pef connectionStrings C:\dotnetapps\myapp
Подождите секунду: web.config предназначен только для веб-приложений, а не для локальных, верно? aspnet_regiis.exe работает только с web.config, но формат точно такой же, как у app.config. Поэтому все, что вам нужно сделать, это переименовать app.config в web.config, запустить инструмент и переименовать его обратно. Немного неудобно, но ничего, что нельзя было бы автоматизировать с помощью командного файла.
@ Encrypts connectionStrings in app.config
ren C:\dotnetapps\myapp\app.config web.config
path\to\exe\aspnet_regiis.exe -pef connectionStrings C:\dotnetapps\myapp
ren web.config app.config
Важное примечание. Буквальное использование этих команд зашифрует файл для конкретной системы, в которой он работает. Вы захотите немного почитать, чтобы заставить его шифроваться с помощью ключа, который позволяет вам распространять ваш код, но это общая идея.
person
Charles Burns
schedule
19.03.2012