2017-02-08 15 views
5

Moje zadanie jest proste - aby udostępnić pliki cookie między serwerami w farmieJak wymienić mechaninię dla jądra asp.net?

wiem, że stary sposób za pomocą klucza maszynowego nie działa w rdzeniu asp.net, ale jest dataprotection API

Jednak Nie mogę przechowywać kluczy w udostępnionym folderze (domyślne wbudowane zachowanie DataProtection)

Czy istnieje sposób na przechowywanie danych wymiany klucza w konfiguracjach? (jak w starym asp.net)

Odpowiedz

2

można przechowywać klucze w folderze systemu plików, ale oczywiście istnieją obawy o bezpieczeństwo, jednak obawy są podobne, jak w przypadku przechowywania klucza w pliku web.config.

Różnica polega na tym, że nie istnieje tylko jeden klucz, jak w przypadku klucza maszynowego, klucze interfejsu ochrony danych wygasają po upływie określonego czasu, a nowe klucze są tworzone automatycznie, gdy są potrzebne. Jeśli zaszyfrujesz coś z interfejsem ochrony danych i przechowujesz go na przykład w bazie danych, może zajść potrzeba odszyfrowania go później za pomocą wygasłych kluczy

W tym przykładzie zapisywane są klucze w folderze o nazwie dp_keys w głównej aplikacji internetowej. teczka.

string pathToCryptoKeys = Path.Combine(environment.ContentRootPath, "dp_keys"); 
     services.AddDataProtection() 
      .PersistKeysToFileSystem(new System.IO.DirectoryInfo(pathToCryptoKeys)); 

Należy pamiętać, że przechowywanie kluczy w systemie plików nie jest zalecane. W pliku docs znajduje się skrypt powershell, który umożliwia przechowywanie kluczy dla puli aplikacji w rejestrze systemu. W przypadku platformy Azure znajduje się przechowalnia kluczy Azure Key służąca do przechowywania kluczy ochrony danych.

Powiązane problemy