Condividi tramite


Funzione CryptDestroyKey (wincrypt.h)

Importante Questa API è deprecata. Il software nuovo e esistente deve iniziare a usare le API di nuova generazione di crittografia. Microsoft può rimuovere questa API nelle versioni future.
 
La funzione CryptDestroyKey rilascia l'handle a cui fa riferimento il parametro hKey . Dopo il rilascio di un handle di chiavi, non è più valido e non può essere usato di nuovo.

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
ERROR_BUSY
L'oggetto chiave specificato da hKey è attualmente in uso e non può essere eliminato.
ERROR_INVALID_HANDLE
Il parametro hKey specifica un handle non valido.
ERROR_INVALID_PARAMETER
Il parametro hKey contiene un valore non valido.
NTE_BAD_KEY
Il parametro hKey non contiene un handle valido per una chiave.
NTE_BAD_UID
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

Vedi anche

CryptDeriveKey

CryptGenKey

CryptGetUserKey

CryptImportKey

Generazione di chiavi e funzioni di Exchange