Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Autor: Rick Anderson
W przypadku uruchamiania w systemie Windows system ochrony danych ma ograniczoną obsługę ustawiania domyślnych zasad dla wszystkich aplikacji korzystających z ASP.NET Core Data Protection. Ogólne założenie polega na tym, że administrator może chcieć zmienić ustawienie domyślne, takie jak używane algorytmy lub okres istnienia klucza, bez konieczności ręcznego aktualizowania każdej aplikacji na maszynie.
Warning
Administrator systemu może ustawić domyślne zasady, ale nie może go wymusić. Deweloper aplikacji zawsze może zastąpić dowolną wartość jedną z własnych opcji. Domyślne zasady dotyczą tylko aplikacji, w których deweloper nie określił jawnej wartości ustawienia.
Ustawianie zasad domyślnych
Aby ustawić zasady domyślne, administrator może ustawić znane wartości w rejestrze systemowym w następującym kluczu rejestru:
HKLM\SOFTWARE\Microsoft\DotNetPackages\Microsoft.AspNetCore.DataProtection
Jeśli korzystasz z 64-bitowego systemu operacyjnego i chcesz wpłynąć na zachowanie aplikacji 32-bitowych, pamiętaj, aby skonfigurować odpowiednik Wow6432Node powyższego klucza.
Obsługiwane wartości przedstawiono poniżej.
| Value | Typ | Description |
|---|---|---|
| EncryptionType | ciąg | Określa, które algorytmy mają być używane do ochrony danych. Wartość musi być CNG-CBC, CNG-GCM lub Managed i została opisana bardziej szczegółowo poniżej. |
| DefaultKeyLifetime | DWORD | Określa okres istnienia nowo wygenerowanych kluczy. Wartość jest określona w dniach i musi być >= 7. |
| KeyEscrowSinks | ciąg | Określa typy używane do deponowania kluczy. Wartość to lista rozdzielona średnikami kluczowych pojemników escrow, gdzie każdy element na liście jest nazwą kwalifikowaną zestawu typu, który implementuje IKeyEscrowSink. |
Typy szyfrowania
Jeśli wartość EncryptionType to CNG-CBC, system jest skonfigurowany do używania symetrycznego algorytmu szyfrującego w trybie blokowym CBC w celu zachowania poufności i HMAC dla zapewnienia autentyczności z usługami dostarczanymi przez CNG Windows (zobacz Określanie niestandardowych algorytmów CNG systemu Windows, aby uzyskać więcej szczegółów). Obsługiwane są następujące dodatkowe wartości, z których każda odpowiada właściwości w typie CngCbcAuthenticatedEncryptionSettings.
| Value | Typ | Description |
|---|---|---|
| EncryptionAlgorithm | ciąg | Nazwa symetrycznego algorytmu szyfrowania bloku zrozumiałego przez CNG. Ten algorytm jest otwierany w trybie CBC. |
| EncryptionAlgorithmProvider | ciąg | Nazwa implementacji dostawcy CNG, która może utworzyć algorytm EncryptionAlgorithm. |
| EncryptionAlgorithmKeySize | DWORD | Długość klucza (w bitach) do uzyskania dla algorytmu szyfrowania bloków symetrycznych. |
| HashAlgorithm | ciąg | Nazwa algorytmu skrótu zrozumiałego przez CNG. Ten algorytm jest otwierany w trybie HMAC. |
| HashAlgorithmProvider | ciąg | Nazwa implementacji dostawcy CNG, która może utworzyć algorytm HashAlgorithm. |
Jeśli wartość EncryptionType to CNG-GCM, system jest skonfigurowany do używania symetrycznego szyfru blokowego Galois/Counter Mode w celu zachowania poufności i autentyczności, korzystając z usług udostępnianych przez CNG systemu Windows (zobacz Określanie niestandardowych algorytmów CNG systemu Windows, aby uzyskać więcej informacji). Obsługiwane są następujące dodatkowe wartości, z których każda odpowiada właściwości w typie CngGcmAuthenticatedEncryptionSettings.
| Value | Typ | Description |
|---|---|---|
| EncryptionAlgorithm | ciąg | Nazwa symetrycznego algorytmu szyfrowania bloku zrozumiałego przez CNG. Ten algorytm jest otwierany w trybie Galois/Counter. |
| EncryptionAlgorithmProvider | ciąg | Nazwa implementacji dostawcy CNG, która może utworzyć algorytm EncryptionAlgorithm. |
| EncryptionAlgorithmKeySize | DWORD | Długość klucza (w bitach) do uzyskania dla algorytmu szyfrowania bloków symetrycznych. |
Jeśli wartość EncryptionType jest zarządzana, system jest skonfigurowany do używania zarządzanego algorytmu SymmetricAlgorithm na potrzeby poufności i KeyedHashAlgorithm dla autentyczności (zobacz Określanie niestandardowych algorytmów zarządzanych, aby uzyskać więcej szczegółów). Obsługiwane są następujące dodatkowe wartości, z których każda odpowiada właściwości typu ManagedAuthenticatedEncryptionSettings.
| Value | Typ | Description |
|---|---|---|
| EncryptionAlgorithmType | ciąg | Nazwa typu z kwalifikacją zestawową implementującego SymmetricAlgorithm. |
| EncryptionAlgorithmKeySize | DWORD | Długość klucza (w bitach) do uzyskania dla algorytmu szyfrowania symetrycznego. |
| ValidationAlgorithmType | ciąg | Kwalifikowana przez zestaw nazwa typu, który implementuje keyedHashAlgorithm. |
Jeśli typ EncryptionType ma inną wartość inną niż null lub pustą, system ochrony danych zgłasza wyjątek podczas uruchamiania.
Warning
Podczas konfigurowania domyślnego ustawienia zasad, które obejmuje nazwy typów (EncryptionAlgorithmType, ValidationAlgorithmType, KeyEscrowSinks), typy muszą być dostępne dla aplikacji. W przypadku aplikacji ASP.NET Core należy zainstalować pakiety zawierające te typy.
ASP.NET Core