Key Storage-Eigenschaftsbezeichner

Die folgenden Werte werden verwendet, um eine Schlüsselspeichereigenschaft zu identifizieren.

NCRYPT _ ALGORITHM _ _ GROUP-EIGENSCHAFT

L"Algorithm Group"

Eine auf NULL endende Unicode-Zeichenfolge, die den Namen der Algorithmusgruppe des Objekts enthält. Diese Eigenschaft gilt nur für Schlüssel. Die folgenden Bezeichner werden vom Microsoft-Schlüsselspeicheranbieter zurückgegeben.

Bezeichner Wert Beschreibung
NCRYPT _ RSA _ ALGORITHM _ GROUP
"RSA"
Die RSA-Algorithmusgruppe.
NCRYPT _ DH _ ALGORITHM _ GROUP
"DH"
Die Diffie-Hellman Algorithmusgruppe.
NCRYPT _ DSA _ ALGORITHM _ GROUP
"DSA"
Die DSA-Algorithmusgruppe.
NCRYPT _ ECDSA _ ALGORITHM _ GROUP
"ECDSA"
Die DSA-Algorithmusgruppe der elliptischen Kurve.
NCRYPT _ ECDH _ ALGORITHM _ GROUP
"ECDH"
Die elliptische Kurve Diffie-Hellman Algorithmusgruppe.

_NCRYPT-ALGORITHMUSEIGENSCHAFT _

L"Algorithmusname"

Eine auf NULL endende Unicode-Zeichenfolge, die den Namen des Algorithmus des Objekts enthält. Dies kann einer der vordefinierten CNG-Algorithmusbezeichner oder ein anderer registrierter Algorithmusbezeichner sein. Diese Eigenschaft gilt nur für Schlüssel.

_NCRYPT-ZUGEORDNETER _ ECDH-SCHLÜSSEL _

L"SmartCardAssociatedECDHKey"

Ein LPWSTR-Wert, der den Containernamen des ECDH-Schlüssels (Elliptic Curve Diffie-Hellman) angibt, der während der Anmeldung für ein bestimmtes Handle für einen ECDSA-Schlüssel (Elliptic Curve Digital Signature Algorithm) verwendet werden soll. Wenn auf der Karte keine ECDH-Schlüssel vorhanden sind, gibt der Schlüsselspeicheranbieter (Key Storage Provider, KSP) NTE _ NOT FOUND _ zurück. Diese Eigenschaft gilt für ECDSA-Schlüssel für die Anmeldung mit Smartcards. Die -Eigenschaft wird vom Microsoft Smart Card-Schlüsselspeicheranbieter und nicht vom Microsoft Software-Schlüsselspeicheranbieter unterstützt.

Windows Server 2008 und Windows Vista: Dieser Wert wird nicht unterstützt.

NCRYPT _ BLOCK _ _ LENGTH-EIGENSCHAFT

L"Block Length"

Ein DWORD,das die Länge des Verschlüsselungsblocks in Bytes enthält. Diese Eigenschaft gilt nur für Schlüssel, die die Verschlüsselung unterstützen.

_NCRYPT-ZERTIFIKATEIGENSCHAFT _

L"SmartCardKeyCertificate"

Ein BLOB, das ein X.509-Zertifikat enthält, das dem Schlüssel zugeordnet ist.

Windows Server 2008 R2, Windows 7, Windows Server 2008 und Windows Vista: Ein BLOB, das das Smartcard-Schlüsselzertifikat enthält. Diese Eigenschaft wird vom Microsoft Software Key Storage Provider nicht unterstützt.

NCRYPT _ DH _ _ PARAMETERS-EIGENSCHAFT

L"DHParameters"

Gibt Parameter an, die mit einem Diffie-Hellman Schlüssel verwendet werden sollen. Dieser Datentyp ist ein Zeiger auf eine BCRYPT _ DH PARAMETER _ _ HEADER-Struktur. Diese Eigenschaft kann nur festgelegt werden und muss für den Schlüssel festgelegt werden, bevor der Schlüssel abgeschlossen wird.

NCRYPT _ EXPORT _ _ POLICY-EIGENSCHAFT

L"Exportrichtlinie"

Ein DWORD, das einen Satz von Flags enthält, die die Exportrichtlinie für einen persistenten Schlüssel angeben. Diese Eigenschaft gilt nur für Schlüssel. Dies kann 0 (null) oder eine Kombination aus einem oder mehreren der folgenden Werte enthalten.

Bezeichner Wert Beschreibung
NCRYPT _ ALLOW _ EXPORT _ FLAG 0x00000001 Der private Schlüssel kann exportiert werden.
NCRYPT _ ALLOW _ PLAINTEXT _ EXPORT _ FLAG 0x00000002 Der private Schlüssel kann in Klartextform exportiert werden.
NCRYPT _ ALLOW _ ARCHIVING _ FLAG 0x00000004 Der private Schlüssel kann einmal zu Archivierungszwecken exportiert werden. Dieses Flag gilt nur für das ursprüngliche Schlüsselhandle, für das es festgelegt ist. Diese Richtlinie kann nur auf das ursprüngliche Schlüsselhandle angewendet werden. Nachdem das Schlüsselhandle geschlossen wurde, kann der Schlüssel nicht mehr zu Archivierungszwecken exportiert werden.
NCRYPT _ ALLOW _ PLAINTEXT _ ARCHIVING _ FLAG 0x00000008 Der private Schlüssel kann einmal im Klartextformat zu Archivierungszwecken exportiert werden. Dieses Flag gilt nur für das ursprüngliche Schlüsselhandle, für das es festgelegt ist. Diese Richtlinie kann nur auf das ursprüngliche Schlüsselhandle angewendet werden. Nachdem das Schlüsselhandle geschlossen wurde, kann der Schlüssel nicht mehr zu Archivierungszwecken exportiert werden.

_NCRYPT-IMPL-TYPEIGENSCHAFT _ _

L"Impl Type"

Ein DWORD, das einen Satz von Flags enthält, die Implementierungsdetails des Anbieters definieren. Diese Eigenschaft gilt nur für Schlüsselspeicheranbieter. Dies kann 0 (null) oder eine Kombination aus einem oder mehreren der folgenden Werte enthalten.

Bezeichner Wert Beschreibung
NCRYPT _ IMPL _ HARDWARE _ FLAG 0x00000001 Der Anbieter ist hardwarebasiert.
NCRYPT _ IMPL _ SOFTWARE _ FLAG 0x00000002 Der Anbieter ist softwarebasiert.
NCRYPT _ IMPL _ REMOVABLE _ FLAG 0x00000008 Der Anbieter kann entfernt werden.
NCRYPT _ IMPL _ HARDWARE _ RNG _ FLAG 0x00000010 Der Anbieter ist ein hardwarebasierter Zufallszahlengenerator.

NCRYPT _ KEY _ _ TYPE-EIGENSCHAFT

L"Schlüsseltyp"

Ein DWORD, das einen Satz von Flags enthält, die den Schlüsseltyp definieren. Diese Eigenschaft gilt nur für Schlüssel. Dieser kann null oder den folgenden Wert enthalten.

Bezeichner Wert Beschreibung
_ _ NCRYPT-COMPUTERSCHLÜSSELFLAG _ 0x00000001 Der Schlüssel gilt für den lokalen Computer. Wenn dieses Flag nicht vorhanden ist, gilt der Schlüssel für den aktuellen Benutzer.

_ _ NCRYPT-SCHLÜSSELVERWENDUNGSEIGENSCHAFT _

L"Schlüsselverwendung"

Ein DWORD, das eine Reihe von Flags enthält, die die Verwendungsdetails für einen Schlüssel definieren. Diese Eigenschaft gilt nur für Schlüssel. Dies kann 0 (null) oder eine Kombination aus mindestens einem der folgenden Werte enthalten.

Bezeichner Wert Beschreibung
NCRYPT _ ALLOW _ DECRYPT _ FLAG 0x00000001 Der Schlüssel kann für die Entschlüsselung verwendet werden.
NCRYPT-FLAG _ _ "SIGNIERUNG _ ZULASSEN" 0x00000002 Der Schlüssel kann zum Signieren verwendet werden.
FLAG FÜR _ _ NCRYPT-SCHLÜSSELVEREINBARUNG _ _ ZULASSEN 0x00000004 Der Schlüssel kann für die Verschlüsselung des Geheimvertrags verwendet werden.
NCRYPT ALLOW ALL USAGES (ALLE _ _ _ VERWENDUNGEN ZULASSEN) 0x00ffffff Der Schlüssel kann für jeden Zweck verwendet werden.

NCRYPT _ LAST _ _ MODIFIED-EIGENSCHAFT

L"Modified"

Gibt an, wann der Schlüssel zuletzt geändert wurde. Dieser Datentyp ist ein Zeiger auf eine FILETIME-Struktur. Diese Eigenschaft gilt nur für persistente Schlüssel.

NCRYPT _ _ LENGTH-EIGENSCHAFT

L"Length"

Ein DWORD, das die Länge des Schlüssels in Bits enthält. Diese Eigenschaft gilt nur für Schlüssel.

NCRYPT _ _ LENGTHS-EIGENSCHAFT

L"Lengths"

Gibt die Schlüsselgrößen an, die vom Schlüssel unterstützt werden. Dieser Datentyp ist ein Zeiger auf eine NCRYPT _ SUPPORTED _ LENGTHS-Struktur, die diese Informationen enthält. Diese Eigenschaft gilt nur für Schlüssel.

NCRYPT _ MAX _ NAME _ _ LENGTH-EIGENSCHAFT

L"Max Name Length"

Ein DWORD, das die maximale Länge des Namens eines persistenten Schlüssels in Zeichen enthält. Diese Eigenschaft gilt nur für einen Anbieter.

Diese Eigenschaft ist in erster Linie für die Verwendung durch Schlüsselspeicheranbieter vorgesehen, die ihre Schlüssel auf einem Gerät speichern, das über eine begrenzte Menge an verfügbarem Arbeitsspeicher verfügt, z. B. eine Smartcard.

NCRYPT _ _ NAME-EIGENSCHAFT

L"Name"

Ein Zeiger auf eine auf NULL beendete Unicode-Zeichenfolge, die den Namen des Objekts enthält.

NCRYPT _ PIN _ _ PROMPT-EIGENSCHAFT

L"SmartCardPinPrompt"

Dieser Wert wird nicht unterstützt.

NCRYPT _ _ PIN-EIGENSCHAFT

L"SmartCardPin"

Ein Zeiger auf eine auf NULL beendete Unicode-Zeichenfolge, die die PIN enthält. Die PIN wird für einen Smartcardschlüssel oder das Kennwort für einen kennwortgeschützten Schlüssel verwendet, der in einem softwarebasierten KSP gespeichert ist. Diese Eigenschaft kann nur festgelegt werden. Microsoft-KSPs speichern diesen Wert zwischen, sodass der Benutzer pro Prozess nur einmal dazu aufgefordert wird.

HANDLE-EIGENSCHAFT DES _ NCRYPT-ANBIETERS _ _

L"Provider Handle"

Ein NCRYPT _ PROV _ HANDLE, das das Handle des CNG-Schlüsselspeicheranbieters enthält. Wenn Sie das Handle nicht mehr verwenden, müssen Sie NCryptFreeObject aufrufen, um es frei zu geben.

NCRYPT _ _ READER-EIGENSCHAFT

L"SmartCardReader"

Ein Zeiger auf eine auf NULL beendete Unicode-Zeichenfolge, die den Namen des Smartcardlesers enthält. Diese Eigenschaft kann nur festgelegt werden.

NCRYPT _ ROOT _ CERTSTORE-EIGENSCHAFT _

L"SmartcardRootCertStore"

Ein HCERTSTORE, der den Smartcard-Stammzertifikatspeicher darstellt.

NCRYPT _ _SCARD-PIN-ID _

L"SmartCardPinId"

Ein Zeiger auf den _ PIN-ID-Wert, der einem angegebenen kryptografischen Schlüssel auf einer Smartcard zugeordnet ist. Dies ist eine schreibgeschützte Eigenschaft. Der _ PIN-ID-Datentyp wird in Cardmod.h definiert.

Windows Server 2008 und Windows Vista: Dieser Wert wird nicht unterstützt.

PIN-INFORMATIONEN ZUR _ NCRYPT-SCARD _ _

L"SmartCardPinInfo"

Ein Zeiger auf die _ PIN-INFO-Struktur der PIN, die einem angegebenen kryptografischen Schlüssel auf der Smartcard zugeordnet ist. Der Aufrufer stellt das Schlüsselhand handle zur Hand. Diese Eigenschaft ist schreibgeschützt. Die PIN _ INFO-Struktur ist in Cardmod.h definiert.

Windows Server 2008 und Windows Vista: Dieser Wert wird nicht unterstützt.

NCRYPT _ SECURE _ _ PIN-EIGENSCHAFT

L"SmartCardSecurePin"

Ein Zeiger auf eine auf NULL beendete Unicode-Zeichenfolge, die die SMARTCARD-Sitzungs-PIN enthält. Diese Eigenschaft kann nur festgelegt werden.

Windows Vista: Diese Eigenschaft wird nicht unterstützt.

NCRYPT _ SECURITY _ DESCR _ PROPERTY

L"Security Descr"

Ein Zeiger auf eine SECURITY _ DESCRIPTOR-Struktur, die Zugriffssteuerungsinformationen für den Schlüssel enthält. Diese Eigenschaft gilt nur für persistente Schlüssel. Der dwFlags-Parameter der NCryptGetProperty- oder NCryptSetProperty-Funktion identifiziert den Teil des Sicherheitsdeskriptors, der get oder festgelegt werden soll.

NCRYPT _ SECURITY _ DESCR _ _ SUPPORT-EIGENSCHAFT

L"Security Descr Support"

Gibt an, ob der Anbieter Sicherheitsdeskriptoren für Schlüssel unterstützt. Diese Eigenschaft ist ein DWORD, das 1 enthält, wenn der Anbieter Sicherheitsdeskriptoren für Schlüssel unterstützt. Wenn diese Eigenschaft einen anderen Wert enthält oder die NCryptGetProperty-Funktion NTE NOT _ _ SUPPORTED zurückgibt, unterstützt der Anbieter keine Sicherheitsbeschreibungen für Schlüssel. Diese Eigenschaft gilt nur für Anbieter.

NCRYPT _ SMARTCARD _ _ GUID-EIGENSCHAFT

L"SmartCardGuid"

Ein BLOB, das den Bezeichner der Smartcard enthält.

NCRYPT _ UI _ _ POLICY-EIGENSCHAFT

L"UI-Richtlinie"

Bei Verwendung mit der NCryptSetProperty- oder NCryptGetProperty-Funktion ist dies ein Zeiger auf eine NCRYPT _ UI _ POLICY-Struktur, die die Richtlinie für die Benutzeroberfläche mit starkem Schlüssel für den Schlüssel enthält. Diese Eigenschaft gilt nur für persistente Schlüssel. Diese Eigenschaft kann nur festgelegt werden, wenn der Schlüssel generiert wird. Nachdem die NCryptFinalizeKey-Funktion für diesen Schlüssel aufgerufen wurde, ist diese Eigenschaft schreibgeschützt.

Ein Schlüsselspeicheranbieter kann diesen Parameter über eine NCryptSetPropertyFn-Rückruffunktion empfangen. Der Parameterwert ist eine NCRYPT _ UI _ POLICY _ BLOB-Struktur, die die gleichen Informationen enthält. Wenn eine Anwendung eine Anforderung über NCryptSetPropertyFn an den Anbieter richtet, um diese Eigenschaft zurückzugeben, wird davon ausgegangen, dass der Anbieter eine NCRYPT _ UI _ _ POLICY-BLOB-Struktur zurückgibt.

NCRYPT _ UNIQUE _ _ NAME-EIGENSCHAFT

L"Eindeutiger Name"

Ein Zeiger auf eine auf NULL endende Unicode-Zeichenfolge, die den eindeutigen Namen des Objekts enthält. Dies ist ein alternativer Name, der beim Zugriff auf den Schlüssel verwendet werden kann. Diese Eigenschaft wird verwendet, wenn angenommen wird, dass der ursprünglich an NCryptCreatePersistedKey übergebene Schlüsselname nicht eindeutig genug ist, um den persistenten Schlüssel zuverlässig zu identifizieren. Der Microsoft-Schlüsselspeicheranbieter gibt den Dateinamen des Schlüssels als diese Eigenschaft zurück.

NCRYPT _ USE _ CONTEXT _ PROPERTY

L"Kontext verwenden"

Ein Zeiger auf eine auf NULL endende Unicode-Zeichenfolge, die den Kontext des Vorgangs beschreibt. Diese Eigenschaft ist nicht persistent und kann entweder für einen Anbieter oder einen Schlüssel festgelegt werden. Ein Schlüssel hat keinen Zugriff auf die NCRYPT _ USE _ CONTEXT _ PROPERTY-Eigenschaft des Anbieters, da die Eigenschaft nur für das Handle spezifisch ist, für das er festgelegt ist.

Ein Beispiel, bei dem diese Eigenschaft im Kontext eines Anbieters verwendet wird, ist ein Schlüsselspeicheranbieter, der den Benutzer während eines Aufrufs von NCryptOpenKey auffordern muss (z. B. "Insert your smart card in the reader."). Da das Schlüsselhandle erst verfügbar ist, nachdem NCryptOpenKey zurückgegeben wurde, sollte die Anwendung diese Eigenschaft für das Anbieterhandle festlegen, bevor NCryptOpenKey aufgerufen wird.

Ein Beispiel, bei dem diese Eigenschaft im Kontext eines Schlüsselhandle verwendet wird, ist ein Schlüsselspeicheranbieter, der den Benutzer während eines Vorgangs mithilfe des Schlüssels auffordern muss (z. B. "Diese Anwendung muss diesen Schlüssel zum Signieren eines Dokuments verwenden"). Der Anbieter kann diese Kontextinformationen dann an den Benutzer auf einer beliebigen Benutzeroberfläche weiterleiten, die während des Vorgangs angezeigt wird.

NCRYPT _ USE _ COUNT _ ENABLED _ PROPERTY

L"Enabled Use Count"

Gibt an, ob der Anbieter die Verwendungszählung für Schlüssel unterstützt. Diese Eigenschaft ist ein DWORD, das 1 enthält, wenn der Anbieter die Verwendungszählung für Schlüssel unterstützt. Wenn diese Eigenschaft einen anderen Wert enthält oder die NCryptGetProperty-Funktion NTE NOT _ _ SUPPORTED zurückgibt, unterstützt der Anbieter die Verwendungszählung für Schlüssel nicht. Diese Eigenschaft gilt nur für Anbieter.

NCRYPT _ USE _ _ COUNT-EIGENSCHAFT

L"Use Count"

Eine ULARGE _ INTEGER-Variable, die die Anzahl von Vorgängen enthält, die der angegebene private Schlüssel ausgeführt hat. Diese Eigenschaft ist optional und wird möglicherweise nicht von allen Anbietern unterstützt. Anbieter, die diese Eigenschaft für Schlüssel unterstützen, sollten auch die Eigenschaft NCRYPT _ USE COUNT ENABLED _ _ _ PROPERTY für das Anbieterhandle unterstützen. Der Microsoft-Schlüsselspeicheranbieter unterstützt diese Eigenschaft nicht. Diese Eigenschaft gilt nur für persistente Schlüssel.

NCRYPT _ USER _ CERTSTORE-EIGENSCHAFT _

L"SmartCardUserCertStore"

Ein HCERTSTORE, der den Smartcard-Benutzerzertifikatspeicher darstellt.

_NCRYPT-VERSIONSEIGENSCHAFT _

L"Version"

Ein DWORD, das die Softwareversion des Anbieters enthält. Das obere Wort enthält die Hauptversion und das niedrige Wort die Nebenversion. Beispielsweise 0x00030033 = 3,51. Diese Eigenschaft gilt nur für Anbieter.

_HANDLE-EIGENSCHAFT DES NCRYPT-FENSTERS _ _

L"HWND-Handle"

Ein Zeiger auf das Fensterhandle (HWND), das als übergeordnetes Element einer angezeigten Benutzeroberfläche verwendet werden soll.

Da unerwünschtes Verhalten auftreten kann, wenn eine Benutzeroberfläche mit einem NULL-Fensterhandle für das übergeordnete Element angezeigt wird, wird dringend empfohlen, dass ein Schlüsselspeicheranbieter nur dann eine Benutzeroberfläche anzeigt, wenn diese Eigenschaft festgelegt ist.

Die folgenden Werte werden verwendet, um Grenzwerte von Eigenschaftsdaten zu definieren.

Konstante/Wert Beschreibung
NCRYPT _ MAX _ PROPERTY _ DATA
0x100000
Gibt die maximale Größe eines Eigenschaftswerts in Bytes an.
NCRYPT _ MAX _ PROPERTY _ NAME
64
Gibt die maximale Größe eines Eigenschaftsnamens in Zeichen an.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows [Nur Vista-Desktop-Apps]
Unterstützte Mindestversion (Server)
Windows Nur Server [ 2008-Desktop-Apps]
Header
Ncrypt.h

Weitere Informationen

NCryptGetProperty

NCryptSetProperty