使用RsaProtectedConfigurationProvider的ProtectSection Key在哪里?

时间:2009-07-28 06:00:53

标签: c# configuration encryption rsa

我正在使用System.Configuration来加密和保护自定义配置部分中的某些密码: - 。

static public void SetPassAndProtectSection(string newPassword)
{

    // Get the current configuration file.
    System.Configuration.Configuration config =
        ConfigurationManager.OpenExeConfiguration(
        ConfigurationUserLevel.None);


    // Get the section.
    MyAppProtectedSection section = 
        (MyAppProtectedSection)config.GetSection(DEFAULT_SECTION_NAME);

    section.DBPassword = newPassword;

    // Protect (encrypt)the section.
    section.SectionInformation.ProtectSection("RsaProtectedConfigurationProvider");

    // Save the encrypted section.
    section.SectionInformation.ForceSave = true;

    config.Save(ConfigurationSaveMode.Full);
}

这似乎工作正常,但我需要一些额外的信息来提供我的文档。

密钥存储在哪里?

钥匙有多长?

迈克尔

2 个答案:

答案 0 :(得分:10)

用户级别密钥存储在

  

\ Documents and   设置{用户名} \应用   数据\微软\加密\ RSA

的机器级键
  

\ Documents and Settings \ All   用户\应用   数据\微软\加密\ RSA \ MachineKeys的

您的用户级密钥。

答案 1 :(得分:0)

我有一个场景,我需要授予本地服务帐户访问Windows 2012服务器上的RsaProtectedConfigurationProvider密钥的权限。

最后,授予对C:\ ProgramData \ Microsoft \ Crypto \ RSA \ MachineKeys的访问权限。