CspProviderFlags Wyliczenie
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Określa flagi, które modyfikują zachowanie dostawców usług kryptograficznych (CSP).
To wyliczenie obsługuje bitową kombinację jego wartości składowych.
public enum class CspProviderFlags
[System.Flags]
public enum CspProviderFlags
[System.Flags]
[System.Serializable]
public enum CspProviderFlags
[System.Flags]
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public enum CspProviderFlags
[<System.Flags>]
type CspProviderFlags =
[<System.Flags>]
[<System.Serializable>]
type CspProviderFlags =
[<System.Flags>]
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type CspProviderFlags =
Public Enum CspProviderFlags
- Dziedziczenie
- Atrybuty
Pola
CreateEphemeralKey | 128 | Utwórz klucz tymczasowy, który jest zwalniany, gdy skojarzony obiekt Rivest-Shamir-Adleman (RSA) jest zamknięty. Nie używaj tej flagi, jeśli chcesz, aby klucz był niezależny od obiektu RSA. |
NoFlags | 0 | Nie określaj żadnych ustawień. |
NoPrompt | 64 | Zapobiegaj wyświetlaniu dowolnego interfejsu użytkownika (UI) przez dostawcę CSP dla tego kontekstu. |
UseArchivableKey | 16 | Zezwalaj na eksportowanie klucza na potrzeby archiwizacji lub odzyskiwania. |
UseDefaultKeyContainer | 2 | Użyj informacji o kluczu z domyślnego kontenera kluczy. |
UseExistingKey | 8 | Użyj informacji o kluczu z bieżącego klucza. |
UseMachineKeyStore | 1 | Użyj kluczowych informacji z magazynu kluczy komputera. |
UseNonExportableKey | 4 | Użyj kluczowych informacji, których nie można wyeksportować. |
UseUserProtectedKey | 32 | Powiadom użytkownika za pomocą okna dialogowego lub innej metody, gdy niektóre akcje próbują użyć klucza. Ta flaga nie jest zgodna z flagą NoPrompt . |
Uwagi
Ważne
Flaga CreateEphemeralKey
zapewnia klucze tymczasowe z bardziej niezawodnym oczyszczaniem. Jeśli ta flaga nie jest używana, środowisko uruchomieniowe języka wspólnego (CLR) generuje losowo nazwany klucz podczas tworzenia obiektu RSA. Gdy obiekt zostanie sfinalizowany lub usunięty, klucz zostanie usunięty. Gdy personifikacja jest w efekcie, nie można jawnie wywołać Dispose
metody , co może spowodować problem. Jeśli na przykład używasz personifikacji, utworzysz obiekt RSA i nie usuniesz go, wątek finalizatora (który nie personifikuje) nie może usunąć klucza, a następnie zgłosi wyjątek. Ten wyjątek jest nieobsługiwany i może zakończyć proces. Zasoby przydzielone do klucza nie są odzyskiwane, co powoduje wyciek pamięci. Żądanie KeyContainerPermission jest pomijane przez tę flagę.