Securing a Partition in App.config Console Application

I am trying to encrypt the appSettings and connectionStrings section in the App.config file of the console application. For some reason, section.SectionInformation.IsProtected always returns true.

 static void Main(string[] args) { EncryptSection("connectionStrings", "DataProtectionConfigurationProvider"); } private static void EncryptSection(string sectionName, string providerName) { string assemblyPath = Assembly.GetExecutingAssembly().Location; Configuration config = ConfigurationManager.OpenExeConfiguration(assemblyPath); ConfigurationSection section = config.GetSection(sectionName); if (section != null && !section.SectionInformation.IsProtected) { section.SectionInformation.ProtectSection(providerName); config.Save(); } } 

Not sure why it always returns true.

+6
c # encryption configuration
source share
1 answer

Your code opens the current application configuration. You can try the following:

 static void Main(string[] args) { if (args.Length != 0) { Console.Error.WriteLine("Usage : Program.exe <configFileName>"); // App.Config } EncryptSection(args[0], "connectionStrings", "DataProtectionConfigurationProvider"); } private static void EncryptSection(string configurationFile, string sectionName, string providerName) { Configuration config = ConfigurationManager.OpenExeConfiguration(configurationFile); ConfigurationSection section = config.GetSection(sectionName); if (section != null && !section.SectionInformation.IsProtected) { section.SectionInformation.ProtectSection(providerName); config.Save(); } } 
+2
source share

All Articles