Возможно зашифровать разделы в файле конфигурации . Инструмент работает только с файлами web.config, поэтому, если у вас есть другой тип приложения, просто переименуйте app.config в web.config перед запуском команды, а затем вернитесь к app.config.
Использование машинного хранилища существенно ограничивает доступ администраторов на машине, а использование хранилища пользователей ограничивает доступ только к учетной записи, которая выполнила команду шифрования.
Для шифрования с помощью машинного хранилища:
Для шифрования:
aspnet_regiis.exe -pef "sectionName" "C:\Path\To\Application" -prov "DataProtectionConfigurationProvider"
Для расшифровки:
aspnet_regiis.exe -pdf "sectionName" "C:\Path\To\Application"
Для шифрования с помощью пользовательского хранилища
Добавьте этот раздел в файл конфигурации:
<configProtectedData>
<providers>
<add useMachineProtection="false"
keyEntropy=""
name="CustomDataProtectionConfigurationProvider"
type="System.Configuration.DpapiProtectedConfigurationProvider, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
/>
</providers>
</configProtectedData>
Для шифрования:
aspnet_regiis.exe -pef "sectionName" "C:\Path\To\Application" -prov "CustomDataProtectionConfigurationProvider"
Для расшифровки:
aspnet_regiis.exe -pef "sectionName" "C:\Path\To\Application" -prov "CustomDataProtectionConfigurationProvider"
Примечание для пользовательского хранилища
Поскольку только пользователь, выполняющий команду, может получить доступ / расшифровать данные, приложению потребуется специальная учетная запись службы , а для запуска команд от имени этого пользователя runas /profile /user:theusername cmd
можно использовать для запуска командной строки от имени другого пользователя