Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Von Rick Anderson
Bei der Ausführung unter Windows hat das Datenschutzsystem eingeschränkte Unterstützung für das Festlegen einer standardmäßigen computerweiten Richtlinie für alle Apps, die ASP.NET Core Data Protection nutzen. Die allgemeine Idee ist, dass ein Administrator möglicherweise eine Standardeinstellung ändern möchte, z. B. die verwendeten Algorithmen oder die Schlüssellebensdauer, ohne dass jede App auf dem Computer manuell aktualisiert werden muss.
Warning
Der Systemadministrator kann die Standardrichtlinie festlegen, aber er kann sie nicht erzwingen. Der App-Entwickler kann immer einen beliebigen Wert mit einer eigenen Wahl überschreiben. Die Standardrichtlinie betrifft nur Apps, bei denen der Entwickler keinen expliziten Wert für eine Einstellung angegeben hat.
Festlegen der Standardrichtlinie
Um die Standardrichtlinie festzulegen, kann ein Administrator bekannte Werte in der Systemregistrierung unter dem folgenden Registrierungsschlüssel festlegen:
HKLM\SOFTWARE\Microsoft\DotNetPackages\Microsoft.AspNetCore.DataProtection
Wenn Sie ein 64-Bit-Betriebssystem verwenden und das Verhalten von 32-Bit-Apps beeinflussen möchten, denken Sie daran, das Wow6432Node-Äquivalent des obigen Schlüssels zu konfigurieren.
Die unterstützten Werte werden unten angezeigt.
| Value | Type | Description |
|---|---|---|
| EncryptionType | string | Gibt an, welche Algorithmen zum Datenschutz verwendet werden sollen. Der Wert muss CNG-CBC, CNG-GCM oder Managed sein und wird unten ausführlicher beschrieben. |
| DefaultKeyLifetime | DWORD | Gibt die Lebensdauer für neu generierte Schlüssel an. Der Wert wird in Tagen angegeben und muss = 7 sein >. |
| KeyEscrowSinks | string | Gibt die Typen an, die für die Schlüsselhinterlegung verwendet werden. Der Wert ist eine Liste von Schlüssel-Escrow-Senken, getrennt durch Semikolons, wobei jedes Element der Liste der assembly-qualifizierte Name eines Typs ist, der IKeyEscrowSink implementiert. |
Verschlüsselungstypen
Wenn EncryptionType CNG-CBC ist, wird das System so konfiguriert, dass eine symmetrische CBC-Modus-Blockchiffre für Vertraulichkeit und HMAC für die Authentizität mit Diensten verwendet wird, die von Windows CNG bereitgestellt werden (weitere Details finden Sie unter Angeben von benutzerdefinierten Windows CNG-Algorithmen ). Die folgenden zusätzlichen Werte werden unterstützt, die jeweils einer Eigenschaft im CngCbcAuthenticatedEncryptionSettings-Typ entsprechen.
| Value | Type | Description |
|---|---|---|
| EncryptionAlgorithm | string | Der Name eines symmetrischen Blockchiffrealgorithmus, der von CNG verstanden wird. Dieser Algorithmus wird im CBC-Modus geöffnet. |
| EncryptionAlgorithmProvider | string | Der Name der CNG-Anbieterimplementierung, die den Algorithmus EncryptionAlgorithm erzeugen kann. |
| EncryptionAlgorithmKeySize | DWORD | Die Länge (in Bits) des Schlüssels, der für den symmetrischen Blockchiffrealgorithmus abgeleitet werden soll. |
| HashAlgorithm | string | Der Name eines Von CNG verstandenen Hashalgorithmus. Dieser Algorithmus wird im HMAC-Modus geöffnet. |
| HashAlgorithmProvider | string | Der Name der CNG-Anbieterimplementierung, die den Algorithmus HashAlgorithm erzeugen kann. |
Wenn EncryptionType CNG-GCM ist, wird das System so konfiguriert, dass eine symmetrische Galois/Counter Mode-Blockchiffre für Vertraulichkeit und Authentizität mit Diensten verwendet wird, die von Windows CNG bereitgestellt werden (weitere Details finden Sie unter Angeben von benutzerdefinierten Windows CNG-Algorithmen ). Die folgenden zusätzlichen Werte werden unterstützt, die jeweils einer Eigenschaft des Typs "CngGcmAuthenticatedEncryptionSettings" entsprechen.
| Value | Type | Description |
|---|---|---|
| EncryptionAlgorithm | string | Der Name eines symmetrischen Blockchiffrealgorithmus, der von CNG verstanden wird. Dieser Algorithmus wird im Galois/Counter-Modus geöffnet. |
| EncryptionAlgorithmProvider | string | Der Name der CNG-Anbieterimplementierung, die den Algorithmus EncryptionAlgorithm erzeugen kann. |
| EncryptionAlgorithmKeySize | DWORD | Die Länge (in Bits) des Schlüssels, der für den symmetrischen Blockchiffrealgorithmus abgeleitet werden soll. |
Wenn EncryptionType verwaltet wird, wird das System so konfiguriert, dass ein verwaltetes SymmetricAlgorithm für Vertraulichkeit und KeyedHashAlgorithm für Authentizität verwendet wird (weitere Details finden Sie unter Angeben von benutzerdefinierten verwalteten Algorithmen ). Die folgenden zusätzlichen Werte werden unterstützt, die jeweils einer Eigenschaft auf dem Typ ManagedAuthenticatedEncryptionSettings entsprechen.
| Value | Type | Description |
|---|---|---|
| EncryptionAlgorithmType | string | Der assemblyqualifizierte Name eines Typs, der SymmetricAlgorithm implementiert. |
| EncryptionAlgorithmKeySize | DWORD | Die Länge (in Bits) des Schlüssels, der für den symmetrischen Verschlüsselungsalgorithmus abgeleitet werden soll. |
| ValidationAlgorithmType | string | Der Assembly-qualifizierte Name eines Typs, der den KeyedHashAlgorithm implementiert. |
Wenn EncryptionType einen anderen Wert als NULL oder leer hat, löst das Datenschutzsystem beim Start eine Ausnahme aus.
Warning
Beim Konfigurieren einer Standardrichtlinieneinstellung mit Typnamen (EncryptionAlgorithmType, ValidationAlgorithmType, KeyEscrowSinks) müssen die Typen für die App verfügbar sein. Bei ASP.NET Core-Apps sollten die Pakete, die diese Typen enthalten, installiert werden.