Ich benutze System.Configuration, um einige Passwörter in einem benutzerdefinierten Konfigurationsabschnitt zu verschlüsseln und zu schützen. Vis: -.ProtectSection mit RsaProtectedConfigurationProvider Wohin geht der Schlüssel?
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);
}
Dies scheint gut zu funktionieren, aber ich brauche einige zusätzliche Informationen für meine Dokumentation.
Wo ist der Schlüssel gespeichert?
Wie lange ist der Schlüssel?
Michael
Danke h0b0 Ich habe es überprüft und das ist richtig. Ich war ein wenig geschockt, als ich entdeckte, dass der Standort des Schlüssels auf Maschinenebene einen Standardzugriff auf "alle..lesen" hat. Ich denke, dass ich die Benutzerebenenschlüssel verwenden muss, da in meinem Fall der Benutzer des Schlüssels ein Windows-Dienst ist, der als ein bestimmtes Konto ausgeführt wird. Vielen Dank für Ihre Antwort. –
Hinweis: Die Position wurde möglicherweise in späteren Versionen von Windows geändert. Der auf meiner Antwort war anders. –