【问题标题】:Protecting Section in App.config file Console ApplicationApp.config 文件控制台应用程序中的保护部分
【发布时间】:2010-09-14 22:09:35
【问题描述】:

我正在尝试加密控制台应用程序的 App.config 文件中的 appSettingsconnectionStrings 部分。出于某种原因,section.SectionInformation.IsProtected 总是返回 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(); 
    }
}

不知道为什么它总是返回 true。

【问题讨论】:

    标签: c# .net encryption configuration


    【解决方案1】:

    您的代码会打开当前的应用程序配置。你可以试试这个:

    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();
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2012-04-21
      • 2022-11-11
      • 2013-10-27
      • 2011-11-28
      • 1970-01-01
      • 2019-08-27
      • 1970-01-01
      • 2019-03-07
      相关资源
      最近更新 更多