Funzione CryptDestroyKey (wincrypt.h)
Se l'handle fa riferimento a una chiave di sessione o a una chiave pubblica importata nel provider di servizi di crittografia tramite CryptImportKey, questa funzione elimina la chiave e libera la memoria usata dalla chiave. Molti provider di servizi di configurazione sovrascrivono la memoria in cui è stata mantenuta la chiave prima di liberarla. Tuttavia, la coppia di chiavi pubblica/privata sottostante non viene eliminata da questa funzione. Solo l'handle viene distrutto.
Sintassi
BOOL CryptDestroyKey(
[in] HCRYPTKEY hKey
);
Parametri
[in] hKey
Handle della chiave da eliminare.
Valore restituito
Se la funzione ha esito positivo, il valore restituito è diverso da zero.
Se la funzione ha esito negativo, il valore restituito è zero. Per informazioni sull'errore estese, chiamare GetLastError.
I codici di errore preceduti da "NTE" vengono generati dal particolare CSP usato. Alcuni codici di errore possibili sono elencati nella tabella seguente.
Codice restituito | Descrizione |
---|---|
|
L'oggetto chiave specificato da hKey è attualmente in uso e non può essere eliminato. |
|
Il parametro hKey specifica un handle non valido. |
|
Il parametro hKey contiene un valore non valido. |
|
Il parametro hKey non contiene un handle valido per una chiave. |
|
Impossibile trovare il contesto CSP specificato quando la chiave è stata creata. |
Commenti
Le chiavi occupano sia lo spazio di memoria del sistema operativo che lo spazio di memoria del CSP. Alcuni provider di servizi di configurazione vengono implementati nell'hardware con risorse di memoria limitate. Le applicazioni devono distruggere tutte le chiavi con la funzione CryptDestroyKey al termine.
Tutti gli handle delle chiavi creati o importati tramite un CSP specifico devono essere eliminati prima che venga rilasciato l'handle CSP con la funzione CryptReleaseContext .
Esempio
Per un esempio che usa la funzione CryptDestroyKey , vedere Programma C di esempio: Creazione e hashing di una chiave di sessione.
Requisiti
Client minimo supportato | Windows XP [solo app desktop] |
Server minimo supportato | Windows Server 2003 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | wincrypt.h |
Libreria | Advapi32.lib |
DLL | Advapi32.dll |