Fonction CryptFindCertificateKeyProvInfo (wincrypt.h)

La fonction CryptFindCertificateKeyProvInfo énumère les fournisseurs de chiffrement et leurs conteneurs pour rechercher la clé privée qui correspond à la clé publique du certificat.

Syntaxe

BOOL CryptFindCertificateKeyProvInfo(
  [in] PCCERT_CONTEXT pCert,
  [in] DWORD          dwFlags,
  [in] void           *pvReserved
);

Paramètres

[in] pCert

Pointeur vers la structure CERT_CONTEXT du certificat à utiliser lors de l’exportation d’informations de clé publique.

[in] dwFlags

Ensemble d’indicateurs qui modifient le comportement de cette fonction. Il peut s’agir de zéro ou de l’une des valeurs suivantes.

Valeur Signification
CRYPT_FIND_USER_KEYSET_FLAG
Limite la recherche au conteneur utilisateur. La valeur par défaut consiste à rechercher à la fois les conteneurs de l’utilisateur et de l’ordinateur.
CRYPT_FIND_MACHINE_KEYSET_FLAG
Limite la recherche au conteneur de l’ordinateur. La valeur par défaut consiste à rechercher à la fois les conteneurs de l’utilisateur et de l’ordinateur.
CRYPT_FIND_SILENT_KEYSET_FLAG
L’application demande que le fournisseur de solutions cloud n’affiche aucune interface utilisateur pour ce contexte. Si le fournisseur de solutions cloud doit afficher l’interface utilisateur pour fonctionner, l’appel échoue et le code d’erreur NTE_SILENT_CONTEXT est défini comme dernière erreur.
 

Les indicateurs suivants déterminent quelle technologie est utilisée pour obtenir la clé. Si aucun de ces indicateurs n’est présent, cette fonction tente uniquement d’obtenir la clé à l’aide de CryptoAPI.

Windows Server 2003 et Windows XP : Ces indicateurs ne sont pas pris en charge.

Valeur Signification
CRYPT_ACQUIRE_ALLOW_NCRYPT_KEY_FLAG
Cette fonction tente d’obtenir la clé à l’aide de CryptoAPI. En cas d’échec, cette fonction tente d’obtenir la clé à l’aide de l’API chiffrement : CNG (Next Generation).

La propriété CERT_KEY_PROV_INFO_PROP_ID du certificat est définie sur zéro si le GNC est utilisé pour obtenir la clé.

CRYPT_ACQUIRE_ONLY_NCRYPT_KEY_FLAG
Cette fonction tente uniquement d’obtenir la clé à l’aide de CNG et n’utilise pas CryptoAPI pour obtenir la clé.

La propriété CERT_KEY_PROV_INFO_PROP_ID du certificat est définie sur zéro si le GNC est utilisé pour obtenir la clé.

CRYPT_ACQUIRE_PREFER_NCRYPT_KEY_FLAG
Cette fonction tente d’obtenir la clé à l’aide de CNG. En cas d’échec, cette fonction tente d’obtenir la clé à l’aide de CryptoAPI.

La propriété CERT_KEY_PROV_INFO_PROP_ID du certificat est définie sur zéro si le GNC est utilisé pour obtenir la clé.

[in] pvReserved

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

Valeur retournée

TRUE si la fonction recherche une clé privée qui correspond à la clé publique du certificat dans un conteneur recherché ; FALSE si la fonction ne parvient pas à trouver un conteneur ou une clé privée dans un conteneur.

GetLastError retourne l’erreur suivante :

Code de retour Description
NTE_NO_KEY
Aucun conteneur trouvé.

Remarques

Cette fonction énumère les fournisseurs de chiffrement et leurs conteneurs pour rechercher la clé privée qui correspond à la clé publique du certificat. Pour une correspondance, la fonction met à jour la propriété CERT_KEY_PROV_INFO_PROP_ID du certificat. Si le CERT_KEY_PROV_INFO_PROP_ID est déjà défini, il est vérifié pour déterminer s’il correspond à la clé publique du fournisseur. Pour une correspondance, la fonction ignore l’énumération mentionnée précédemment.

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 Gestion des données