Udostępnij za pośrednictwem


CspProviderFlags Wyliczenie

Definicja

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
CspProviderFlags
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ę.

Dotyczy

Zobacz też