ProtectSection с RsaProtectedConfigurationProvider, куда идет Key?

Я использую 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);
}

Это, похоже, работает нормально, но мне нужна дополнительная информация для моей документации.

Где хранится ключ?

Как долго находится ключ?

Майкл

Ответ 1

Клавиши уровня пользователя сохраняются в

\ Документы и Настройки {UserName}\Application Data\Microsoft\Crypto\RSA

Клавиши машинного уровня в

\ Documents and Settings\All Users\Application Data\Microsoft\Crypto\RSA\MachineKeys

Ваш ключ уровня пользователя.

Ответ 2

У меня был сценарий, когда мне нужно было предоставить доступ к локальной учетной записи доступа к ключу RsaProtectedConfigurationProvider на сервере Windows 2012.

В конце концов, предоставление доступа к C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys сделало трюк.