CryptGetKeyIdentifierProperty-Funktion (wincrypt.h)

Wichtig Diese API ist veraltet. Neue und vorhandene Software sollte mit der Verwendung von Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Versionen entfernen.
 
CryptGetKeyIdentifierProperty ruft eine bestimmte Eigenschaft von einem angegebenen Schlüsselbezeichner ab.

Syntax

BOOL CryptGetKeyIdentifierProperty(
  [in]      const CRYPT_HASH_BLOB *pKeyIdentifier,
  [in]      DWORD                 dwPropId,
  [in]      DWORD                 dwFlags,
  [in]      LPCWSTR               pwszComputerName,
  [in]      void                  *pvReserved,
  [out]     void                  *pvData,
  [in, out] DWORD                 *pcbData
);

Parameter

[in] pKeyIdentifier

Ein Zeiger auf die CRYPT_HASH_BLOB , die den Schlüsselbezeichner enthält.

[in] dwPropId

Gibt die abzurufende Eigenschaft an. Der Wert von dwPropId bestimmt den Typ und den Inhalt des pvData-Parameters . Es kann eine beliebige Zertifikateigenschafts-ID verwendet werden.

[in] dwFlags

Die folgenden Flags können verwendet werden. Sie können mit einer bitweisen OR-Operation kombiniert werden.

Wert Bedeutung
CRYPT_KEYID_MACHINE_FLAG
Durchsuchen Sie die Liste der Schlüsselbezeichner von LocalMachine (wenn pwszComputerNameNULL ist) oder Remotecomputer (wenn pwszComputerName nicht NULL ist). Weitere Informationen finden Sie unter pwszComputerName.
CRYPT_KEYID_ALLOC_FLAG
Die LocalAlloc()- Funktion wird aufgerufen, um Arbeitsspeicher für pvData zuzuweisen. *pvData wird mit einem Zeiger auf den zugeordneten Arbeitsspeicher aktualisiert. LocalFree() muss aufgerufen werden, um den zugeordneten Arbeitsspeicher freizugeben.

[in] pwszComputerName

Ein Zeiger auf den Namen eines zu durchsuchenden Remotecomputers. Wenn CRYPT_KEYID_MACHINE_FLAG Flag festgelegt ist, durchsucht den Remotecomputer nach einer Liste mit Schlüsselbezeichnern. Wenn der lokale Computer und kein Remotecomputer durchsucht werden soll, legen Sie pwszComputerName auf NULL fest.

[in] pvReserved

Für die zukünftige Verwendung reserviert und muss NULL sein.

[out] pvData

Ein Zeiger auf einen Puffer zum Empfangen der Daten gemäß dwPropId. Elemente, auf die von Feldern in der pvData-Struktur verwiesen wird, folgen der -Struktur. Daher kann die in pcbData enthaltene Größe die Größe der Struktur überschreiten.

Wenn dwPropId CERT_KEY_PROV_INFO_PROP_ID ist, verweist pvData auf eine CRYPT_KEY_PROV_INFO-Struktur, die die -Eigenschaft des Schlüsselbezeichners enthält.

Wenn dwPropId nicht CERT_KEY_PROV_INFO_PROP_ID ist, verweist pvData auf ein Bytearray, das die -Eigenschaft des Schlüsselbezeichners enthält.

Um die Größe dieser Informationen für Speicherbelegungszwecke abzurufen, kann dieser Parameter NULL sein, wenn die CRYPT_KEYID_ALLOC_FLAG nicht festgelegt ist. Weitere Informationen finden Sie unter Abrufen von Daten mit unbekannter Länge.

Wenn die CRYPT_KEYID_ALLOC_FLAG festgelegt ist, ist pvData die Adresse eines Zeigers auf den Puffer, der aktualisiert wird. Da Arbeitsspeicher zugeordnet ist und der Zeiger unter *pvData gespeichert wird, darf pvData nicht NULL sein.

[in, out] pcbData

Ein Zeiger auf ein DWORD , das die Größe des Puffers in Bytes enthält, auf den der parameter pvData verweist. Wenn die Funktion zurückgibt, enthält das DWORD die Anzahl der im Puffer gespeicherten Bytes. Die in der Variablen enthaltene Größe, auf die von pcbData verwiesen wird, kann eine Größe angeben, die größer als die CRYPT_KEY_PROV_INFO-Struktur ist, da die Struktur Zeiger auf Hilfsdaten enthalten kann. Diese Größe ist die Summe der Größe, die von der -Struktur und allen Hilfsdaten benötigt wird.

Wenn die CRYPT_KEYID_ALLOC_FLAG festgelegt ist, ist pcbData die Adresse eines Zeigers auf das DWORD , das aktualisiert wird.

Hinweis Bei der Verarbeitung der im Puffer zurückgegebenen Daten müssen Anwendungen die tatsächliche Größe der zurückgegebenen Daten verwenden. Die tatsächliche Größe kann etwas kleiner als die Größe des bei der Eingabe angegebenen Puffers sein. Bei der Eingabe werden Puffergrößen in der Regel groß genug angegeben, um sicherzustellen, dass die größtmöglichen Ausgabedaten in den Puffer passen. Bei der Ausgabe wird die Variable aktualisiert, auf die dieser Parameter verweist, um die tatsächliche Größe der in den Puffer kopierten Daten widerzuspiegeln.
 

Rückgabewert

Wenn die Funktion erfolgreich ist, gibt die Funktion ungleich null (TRUE) zurück.

Wenn die Funktion fehlschlägt, gibt sie null (FALSE) zurück. Rufen Sie GetLastError auf, um erweiterte Fehlerinformationen zu erhalten.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile wincrypt.h
Bibliothek Crypt32.lib
DLL Crypt32.dll

Weitere Informationen

CryptEnumKeyIdentifierProperties

CryptSetKeyIdentifierProperty

Schlüsselbezeichnerfunktionen