Fonction CryptDestroyKey (wincrypt.h)
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 |
---|---|
|
L’objet de clé spécifié par hKey est actuellement utilisé et ne peut pas être détruit. |
|
Le paramètre hKey spécifie un handle qui n’est pas valide. |
|
Le paramètre hKey contient une valeur qui n’est pas valide. |
|
Le paramètre hKey ne contient pas de handle valide pour une clé. |
|
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 |