Fonction CryptEnumKeyIdentifierProperties (wincrypt.h)

Important Cette API est déconseillée. Les logiciels nouveaux et existants doivent commencer à utiliser les API de nouvelle génération de chiffrement. Microsoft peut supprimer cette API dans les versions ultérieures.
 
La fonction CryptEnumKeyIdentifierProperties énumère les identificateurs de clé et leurs propriétés. Cette fonction n’est pas appelée dans une boucle. Au lieu de cela, il effectue une boucle en interne jusqu’à ce que la dernière propriété d’identificateur de clé soit énumérée ou que la fonction de rappel retourne FALSE. Si dwPropId est égal à zéro ou si les propriétés de l’identificateur de clé correspondent au dwPropId, la fonction de rappel est appelée.

Syntaxe

BOOL CryptEnumKeyIdentifierProperties(
  [in, optional] const CRYPT_HASH_BLOB     *pKeyIdentifier,
  [in]           DWORD                     dwPropId,
  [in]           DWORD                     dwFlags,
  [in, optional] LPCWSTR                   pwszComputerName,
  [in]           void                      *pvReserved,
  [in, optional] void                      *pvArg,
  [in]           PFN_CRYPT_ENUM_KEYID_PROP pfnEnum
);

Paramètres

[in, optional] pKeyIdentifier

Pointeur vers une structure CRYPT_HASH_BLOB qui contient l’identificateur de clé.

Si pKeyIdentifier a la valeur NULL, la fonction énumère tous les identificateurs de clé.

Si pKeyIdentifier n’a pas la valeur NULL, la fonction de rappel pfnEnum est appelée uniquement pour l’identificateur de clé spécifié.

[in] dwPropId

Indique l’identificateur de propriété à répertorier.

Si dwPropId a la valeur zéro, cette fonction appelle la fonction de rappel avec toutes les propriétés.

Si dwPropId n’est pas zéro et que pKeyIdentifier a la valeur NULL, la fonction de rappel est appelée uniquement pour les identificateurs de clé qui ont la propriété spécifiée (définit le paramètre cProp de pfnEnum sur un). Tous les identificateurs de clé qui n’ont pas la propriété sont ignorés.

N’importe quel identificateur de propriété de certificat peut être utilisé.

[in] dwFlags

Par défaut, la liste des identificateurs de clé pour CurrentUser est recherchée. Si CRYPT_KEYID_MACHINE_FLAG est défini, la liste des identificateurs de clé de LocalMachine (si pwszComputerName a la valeur NULL) ou d’un ordinateur distant (si pwszComputerName n’a pas la valeur NULL) est recherchée. Pour plus d’informations, consultez pwszComputerName.

[in, optional] pwszComputerName

Pointeur vers le nom d’un ordinateur distant à rechercher. Si CRYPT_KEYID_MACHINE_FLAG est défini dans dwFlags, l’ordinateur distant est recherché pour obtenir une liste d’identificateurs de clé. Si l’ordinateur local doit faire l’objet d’une recherche et non un ordinateur distant, pwszComputerName a la valeur NULL.

[in] pvReserved

Réservé pour une utilisation ultérieure et doit avoir la valeur NULL.

[in, optional] pvArg

Pointeur vers les données à passer à la fonction de rappel. Le type est un void qui permet à l’application de déclarer, de définir et d’initialiser une structure ou un argument pour contenir des informations.

[in] pfnEnum

Pointeur vers une fonction de rappel définie par l’application qui est exécutée pour chaque entrée d’identificateur de clé qui correspond aux paramètres d’entrée. Pour plus d’informations sur les paramètres des fonctions de rappel, consultez CRYPT_ENUM_KEYID_PROP.

Valeur retournée

La fonction CryptEnumKeyIdentifierProperties appelle à plusieurs reprises la fonction de rappel CRYPT_ENUM_KEYID_PROP jusqu’à ce que le dernier identificateur de clé soit énuméré ou que la fonction de rappel retourne FALSE.

Si la fonction main 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.

Pour continuer l’énumération, la fonction retourne TRUE.

Pour arrêter l’énumération, la fonction retourne FALSE et définit le dernier code d’erreur.

Remarques

Un identificateur de clé peut avoir les mêmes propriétés qu’un contexte de certificat.

Exemples

Pour obtenir un exemple qui utilise cette fonction, consultez Exemple de programme C : Utilisation des identificateurs de clé.

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

Voir aussi

Fonctions de chiffrement de base

CryptGetKeyIdentifierProperty

CryptSetKeyIdentifierProperty