Sto usando System.Configuration per crittografare e proteggere alcune password in una sezione di configurazione personalizzata vis: -.ProtectSection con RsaProtectedConfigurationProvider dove va la chiave?
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);
}
Questo sembra funzionare bene ma ho bisogno di alcune informazioni extra per la mia documentazione.
Dove viene memorizzata la chiave?
Quanto dura la chiave?
Michael
Grazie h0b0 L'ho verificato ed è corretto. Sono rimasto un po 'scioccato nello scoprire che la posizione dei tasti di livello della macchina ha un accesso predefinito di "Everyone..read". Sto pensando che avrò bisogno di usare i tasti del livello utente perché nel mio caso l'utente della chiave è un servizio Windows che viene eseguito come un account specifico. Grazie per la risposta. –
Nota: la posizione potrebbe essere cambiata nella versione successiva di Windows. Quello sulla mia risposta era diverso. –