2009-07-28 12 views
10

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

Odpowiedz

10

klucze poziomu użytkownika są przechowywane w

\ Documents and Ustawienia {username} \ Application Data \ Microsoft \ Crypto \ RSA

klucze Maszyna szczebla w

\ Documents and Setti NGS \ All Users \ Application Data \ Microsoft \ Crypto \ RSA \ MachineKeys

Yours jest kluczowym poziomie użytkownika.

+0

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ź. –

+0

Uwaga: lokalizacja mogła ulec zmianie w późniejszej wersji systemu Windows. Ten w mojej odpowiedzi był inny. –

0

Miałem scenariusz, w którym musiałem przyznać dostęp do lokalnego konta usługi kluczowi RsaProtectedConfigurationProvider na serwerze Windows 2012.

Na koniec udzielenie dostępu w C: \ ProgramData \ Microsoft \ Crypto \ RSA \ MachineKeys rozwiązało problem.

Powiązane problemy