Partager via


Fonction CryptGetUserKey (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 CryptGetUserKey récupère un handle de l’une des deux paires de clés publiques/privées d’un utilisateur. Cette fonction est utilisée uniquement par le propriétaire des paires de clés publiques/privées et uniquement lorsque le handle d’un fournisseur de services de chiffrement (CSP) et son conteneur de clés associé sont disponibles. Si le handle CSP n’est pas disponible et que le certificat de l’utilisateur l’est, utilisez CryptAcquireCertificatePrivateKey.

Syntaxe

BOOL CryptGetUserKey(
  [in]  HCRYPTPROV hProv,
  [in]  DWORD      dwKeySpec,
  [out] HCRYPTKEY  *phUserKey
);

Paramètres

[in] hProv

Handle HCRYPTPROV d’un fournisseur de services de chiffrement (CSP) créé par un appel à CryptAcquireContext.

[in] dwKeySpec

Identifie la clé privée à utiliser à partir du conteneur de clés. Il peut être AT_KEYEXCHANGE ou AT_SIGNATURE.

En outre, certains fournisseurs autorisent l’accès à d’autres clés spécifiques à l’utilisateur via cette fonction. Pour plus d’informations, consultez la documentation sur le fournisseur spécifique.

[out] phUserKey

Pointeur vers le handle HCRYPTKEY des clés récupérées. Une fois la clé terminée, supprimez le handle en appelant la fonction CryptDestroyKey .

Valeur retournée

Si la fonction réussit, la valeur de retour est différente de zéro (TRUE).

Si la fonction échoue, la valeur de retour est zéro (FALSE). Pour obtenir des informations d’erreur étendues, appelez GetLastError.

Les codes d’erreur préfacés par « NTE » sont générés par le fournisseur de solutions cloud en cours d’utilisation. Certains codes d’erreur possibles suivent.

Code de retour Description
ERROR_INVALID_HANDLE
L’un des paramètres spécifie un handle qui n’est pas valide.
ERROR_INVALID_PARAMETER
L’un des paramètres contient une valeur qui n’est pas valide. Il s’agit le plus souvent d’un pointeur qui n’est pas valide.
NTE_BAD_KEY
Le paramètre dwKeySpec contient une valeur qui n’est pas valide.
NTE_BAD_UID
Le paramètre hProv ne contient pas de handle de contexte valide.
NTE_NO_KEY
La clé demandée par le paramètre dwKeySpec n’existe pas.

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 Advapi32.lib
DLL Advapi32.dll

Voir aussi

CryptAcquireContext

CryptDestroyKey

CryptGenKey

Génération de clés et fonctions Exchange