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 сделало трюк.