Mam aplikację, która szyfruje sekcję w pliku konfiguracyjnym. W raz pierwszy, że staram się odczytać zaszyfrowaną sekcji z pliku konfiguracyjnego pojawia się komunikat o błędzie „atrybutu Nierozpoznany«configProtectionProvider»Zauważ, że nazwy atrybutów są wrażliwe na wielkość liter.”App.config - błąd zaszyfrowanej sekcji:
config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
// Get the section in the file.
ConfigurationSection section = config.GetSection("EncryptedSection");
if (section != null)
{
// Protect the section.
section.SectionInformation.ProtectSection("RsaProtectedConfigurationProvider");
section.SectionInformation.ForceSave = true;
// Save the change.
config.Save(ConfigurationSaveMode.Modified);
}
ConfigurationManager.RefreshSection("EncryptedSection");
Properties.Settings.Default.Reset();
//This is the part where I read the encrypted section:
ConfigurationManager.RefreshSection("EncryptedSection");
System.Collections.IDictionary HSMMasterKeyConfig = (System.Collections.IDictionary)System.Configuration.ConfigurationManager.GetSection("EncryptedSection");
Dzieje się tak tylko w po raz pierwszy próbuję przeczytać zaszyfrowaną sekcję. Zauważyłem, że plik .config jest aktualizowany natychmiast po pierwszym zapisaniu, ale z jakiegoś powodu muszę ponownie uruchomić aplikację, aby skorzystać z zaszyfrowanej sekcji.
Hum, modyfikowanie plików konfiguracyjnych w środowisku wykonawczym nie jest typowym zastosowaniem. Powinieneś być może zgłosić problem w Microsoft Connect. –