Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Автор: Рик Андерсон (Rick Anderson)
При запуске в Windows система защиты данных имеет ограниченную поддержку настройки политики на уровне компьютера по умолчанию для всех приложений, использующих ASP.NET Core Data Protection. Общая идея заключается в том, что администратор может изменить параметр по умолчанию, например алгоритмы, используемые или время существования ключа, без необходимости вручную обновлять каждое приложение на компьютере.
Warning
Системный администратор может задать политику по умолчанию, но они не могут применить ее. Разработчик приложений всегда может переопределить любое значение с помощью одного из своих собственных вариантов. Политика по умолчанию влияет только на приложения, в которых разработчик не указал явное значение для параметра.
Настройка политики по умолчанию
Чтобы задать политику по умолчанию, администратор может установить известные значения в следующем разделе системного реестра:
HKLM\SOFTWARE\Microsoft\DotNetPackages\Microsoft.AspNetCore.DataProtection
Если вы находитесь в 64-разрядной операционной системе и хотите повлиять на поведение 32-разрядных приложений, не забудьте настроить эквивалент Wow6432Node приведенного выше ключа.
Ниже показаны поддерживаемые значения.
| Value | Type | Description |
|---|---|---|
| EncryptionType | string | Указывает, какие алгоритмы следует использовать для защиты данных. Значение должно быть CNG-CBC, CNG-GCM или Managed и описано более подробно ниже. |
| Срок действия ключа по умолчанию | DWORD | Указывает время существования только что созданных ключей. Значение указывается в днях и должно иметь значение >= 7. |
| KeyEscrowSinks | string | Указывает типы, используемые для депонирования ключей. Значение представляет собой список приемников хранилища ключей, разделенных точкой с запятой, где каждый элемент в списке — это полное имя типа сборки, реализующего IKeyEscrowSink. |
Типы шифрования
Если EncryptionType — CNG-CBC, система настроена на использование симметричного шифра симметричного блока CBC для конфиденциальности и HMAC для проверки подлинности служб, предоставляемых Windows CNG (дополнительные сведения см. в разделе "Указание пользовательских алгоритмов CNG Windows "). Поддерживаются следующие дополнительные значения, каждый из которых соответствует свойству типа CngCbcAuthenticatedEncryptionSettings.
| Value | Type | Description |
|---|---|---|
| EncryptionAlgorithm | string | Имя алгоритма шифра симметричного блока, понятного CNG. Этот алгоритм открыт в режиме CBC. |
| EncryptionAlgorithmProvider | string | Имя реализации поставщика CNG, которая может создавать алгоритм EncryptionAlgorithm. |
| EncryptionAlgorithmKeySize | DWORD | Длина (в битах) ключа, наследуемого для алгоритма шифра симметричного блока. |
| HashAlgorithm | string | Имя хэш-алгоритма, распознаваемого CNG. Этот алгоритм открыт в режиме HMAC. |
| HashAlgorithmProvider | string | Имя реализации поставщика CNG, которая может создавать алгоритм HashAlgorithm. |
Если EncryptionType — CNG-GCM, система настроена на использование симметричного шифра симметричного блока Galois/Counter Mode для конфиденциальности и подлинности служб, предоставляемых Windows CNG (дополнительные сведения см. в разделе "Указание пользовательских алгоритмов CNG Windows "). Поддерживаются следующие дополнительные значения, каждый из которых соответствует свойству типа CngGcmAuthenticatedEncryptionSettings.
| Value | Type | Description |
|---|---|---|
| EncryptionAlgorithm | string | Имя алгоритма шифра симметричного блока, понятного CNG. Этот алгоритм открыт в режиме Galois/Counter. |
| EncryptionAlgorithmProvider | string | Имя реализации поставщика CNG, которая может создавать алгоритм EncryptionAlgorithm. |
| EncryptionAlgorithmKeySize | DWORD | Длина (в битах) ключа, наследуемого для алгоритма шифра симметричного блока. |
Если тип шифрования является управляемым, система настроена на использование управляемого симметричного алгоритма для обеспечения конфиденциальности и алгоритма KeyedHash для проверки подлинности (дополнительные сведения см. в разделе Указание настраиваемых управляемых алгоритмов). Поддерживаются следующие дополнительные значения, каждый из которых соответствует свойству типа ManagedAuthenticatedEncryptionSettings.
| Value | Type | Description |
|---|---|---|
| EncryptionAlgorithmType | string | Полное имя типа, реализующего класс SymmetricAlgorithm. |
| EncryptionAlgorithmKeySize | DWORD | Длина (в битах) ключа, наследуемого для алгоритма симметричного шифрования. |
| ValidationAlgorithmType | string | Полное название типа, реализующего KeyedHashAlgorithm, в контексте сборки. |
Если EncryptionType имеет любое другое значение, отличное от null или пустого, система защиты данных создает исключение при запуске.
Warning
При настройке параметра политики по умолчанию, включающего имена типов (EncryptionAlgorithmType, ValidationAlgorithmType, KeyEscrowSinks), типы должны быть доступны приложению. Для приложений ASP.NET Core необходимо установить пакеты, содержащие эти типы.
ASP.NET Core