Używam System.Configuration do szyfrowania i ochrony niektórych haseł w sekcji konfiguracji niestandardowej vis: -.ProtectSection z RsaProtectedConfigurationProvider, gdzie działa klucz?
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);
}
Wygląda na to, że działa dobrze, ale potrzebuję dodatkowych informacji do mojej dokumentacji.
Gdzie jest przechowywany klucz?
Jak długo jest klucz?
Michael
Dzięki h0b0 Sprawdziłem to i to jest poprawne. Byłem trochę zszokowany, gdy odkryłem, że lokalizacja kluczy maszynowych ma domyślny dostęp "everyone..read". Myślę, że będę musiał użyć klawiszy poziomu użytkownika, ponieważ w moim przypadku użytkownik klucza jest usługą Windows, która działa jako konkretne konto. Dzięki za twoją odpowiedź. –
Uwaga: lokalizacja mogła ulec zmianie w późniejszej wersji systemu Windows. Ten w mojej odpowiedzi był inny. –