Partager via


Fonction CryptDestroyKey (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 CryptDestroyKey libère le handle référencé par le paramètre hKey . Une fois qu’un handle de clé a été libéré, il n’est plus valide et ne peut plus être utilisé.

Si le handle fait référence à une clé de session ou à une clé publique qui a été importée dans le fournisseur de services de chiffrement (CSP) via CryptImportKey, cette fonction détruit la clé et libère la mémoire utilisée par la clé. De nombreux csp remplacent la mémoire dans laquelle la clé a été conservée avant de la libérer. Toutefois, la paire de clés publique/privée sous-jacente n’est pas détruite par cette fonction. Seule la poignée est détruite.

Syntaxe

BOOL CryptDestroyKey(
  [in] HCRYPTKEY hKey
);

Paramètres

[in] hKey

Handle de la clé à détruire.

Valeur retournée

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

Si la fonction échoue, la valeur de retour est égale à zéro. 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 particulier utilisé. Certains codes d’erreur possibles sont répertoriés dans le tableau suivant.

Code de retour Description
ERROR_BUSY
L’objet de clé spécifié par hKey est actuellement utilisé et ne peut pas être détruit.
ERROR_INVALID_HANDLE
Le paramètre hKey spécifie un handle qui n’est pas valide.
ERROR_INVALID_PARAMETER
Le paramètre hKey contient une valeur qui n’est pas valide.
NTE_BAD_KEY
Le paramètre hKey ne contient pas de handle valide pour une clé.
NTE_BAD_UID
Le contexte CSP qui a été spécifié lors de la création de la clé est introuvable.

Remarques

Les clés occupent à la fois l’espace mémoire du système d’exploitation et l’espace mémoire du fournisseur csp. Certains fournisseurs de solutions cloud sont implémentés dans du matériel avec des ressources mémoire limitées. Les applications doivent détruire toutes les clés avec la fonction CryptDestroyKey lorsqu’elles en ont terminé.

Tous les handles de clé qui ont été créés ou importés à l’aide d’un fournisseur de solutions Cloud spécifique doivent être détruits avant que ce handle CSP ne soit libéré avec la fonction CryptReleaseContext .

Exemples

Pour obtenir un exemple qui utilise la fonction CryptDestroyKey , consultez Exemple de programme C : création et hachage d’une clé de session.

Configuration requise

   
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

CryptDeriveKey

CryptGenKey

CryptGetUserKey

CryptImportKey

Fonctions De génération de clés et Exchange