Fonction CryptGetKeyIdentifierProperty (wincrypt.h)
Syntaxe
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
);
Paramètres
[in] pKeyIdentifier
Pointeur vers le CRYPT_HASH_BLOB qui contient l’identificateur de clé.
[in] dwPropId
Identifie la propriété à récupérer. La valeur de dwPropId détermine le type et le contenu du paramètre pvData . N’importe quel ID de propriété de certificat peut être utilisé.
[in] dwFlags
Les indicateurs suivants peuvent être utilisés. Ils peuvent être combinés avec une opération or au niveau du bit.
[in] pwszComputerName
Pointeur vers le nom d’un ordinateur distant à rechercher. Si CRYPT_KEYID_MACHINE_FLAG indicateur est défini, recherche une liste d’identificateurs de clé sur l’ordinateur distant. Si l’ordinateur local doit faire l’objet d’une recherche et non un ordinateur distant, définissez pwszComputerName sur NULL.
[in] pvReserved
Réservé pour une utilisation ultérieure et doit avoir la valeur NULL.
[out] pvData
Pointeur vers une mémoire tampon pour recevoir les données déterminées par dwPropId. Les éléments pointés par les champs de la structure pvData suivent la structure. Par conséquent, la taille contenue dans pcbData peut dépasser la taille de la structure.
Si dwPropId est CERT_KEY_PROV_INFO_PROP_ID, pvData pointe vers une structure CRYPT_KEY_PROV_INFO qui contient la propriété de l’identificateur de clé.
Si dwPropId n’est pas CERT_KEY_PROV_INFO_PROP_ID, pvData pointe vers un tableau d’octets qui contient la propriété de l’identificateur de clé.
Pour obtenir la taille de ces informations à des fins d’allocation de mémoire, ce paramètre peut avoir la valeur NULL lorsque le CRYPT_KEYID_ALLOC_FLAG n’est pas défini. Pour plus d’informations, consultez Récupération de données de longueur inconnue.
Lorsque le CRYPT_KEYID_ALLOC_FLAG est défini, pvData est l’adresse d’un pointeur vers la mémoire tampon qui sera mise à jour. Étant donné que la mémoire est allouée et que son pointeur est stocké dans *pvData, pvData ne doit pas avoir la valeur NULL.
[in, out] pcbData
Pointeur vers un DWORD qui contient la taille, en octets, de la mémoire tampon pointée par le paramètre pvData . Lorsque la fonction retourne, le DWORD contient le nombre d’octets stockés dans la mémoire tampon. La taille contenue dans la variable pointée par pcbData peut indiquer une taille supérieure à la structure CRYPT_KEY_PROV_INFO , car la structure peut contenir des pointeurs vers des données auxiliaires. Cette taille est la somme de la taille nécessaire à la structure et à toutes les données auxiliaires.
Lorsque le CRYPT_KEYID_ALLOC_FLAG est défini, pcbData est l’adresse d’un pointeur vers le DWORD qui sera mis à jour.
Valeur retournée
Si la fonction réussit, la fonction retourne une valeur différente de zéro (TRUE).
Si la fonction échoue, elle retourne zéro (FALSE). Pour obtenir des informations d’erreur étendues, appelez GetLastError.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows XP [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2003 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | wincrypt.h |
Bibliothèque | Crypt32.lib |
DLL | Crypt32.dll |