Condividi tramite


Funzione CryptHashSessionKey (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 CryptHashSessionKey calcola l'hash crittografico di un oggetto chiave di sessione . Questa funzione può essere chiamata più volte con lo stesso handle hash per calcolare l'hash di più chiavi. Le chiamate a CryptHashSessionKey possono essere interspersate con chiamate a CryptHashData.

Prima di chiamare questa funzione, è necessario chiamare CryptCreateHash per creare l'handle di un oggetto hash.

Sintassi

BOOL CryptHashSessionKey(
  [in] HCRYPTHASH hHash,
  [in] HCRYPTKEY  hKey,
  [in] DWORD      dwFlags
);

Parametri

[in] hHash

Handle per l'oggetto hash.

[in] hKey

Handle per l'oggetto chiave da hashare.

[in] dwFlags

Il valore del flag seguente è definito.

Valore Significato
CRYPT_LITTLE_ENDIAN
0x00000001
Quando questo flag viene impostato, i byte della chiave vengono hashati in forma little-endian . Si noti che per impostazione predefinita (quando dwFlags è zero), i byte della chiave vengono hashizzati in formato big-endian .

Valore restituito

Se la funzione ha esito positivo, il valore restituito è TRUE.

Se la funzione ha esito negativo, il valore restituito è FALSE. 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 seguono.

Codice restituito Descrizione
ERROR_INVALID_HANDLE
Uno dei parametri specifica un handle non valido.
ERROR_INVALID_PARAMETER
Uno dei parametri contiene un valore non valido. Questo è più spesso un puntatore che non è valido.
NTE_BAD_ALGID
L'handle hHash specifica un algoritmo che questo CSP non supporta.
NTE_BAD_FLAGS
Il parametro dwFlags è diverso da zero.
NTE_BAD_HASH
L'oggetto hash specificato dal parametro hHash non è valido.
NTE_BAD_HASH_STATE
È stato eseguito un tentativo di aggiungere dati a un oggetto hash già contrassegnato come "completato".
NTE_BAD_KEY
Viene usato un algoritmo hash con chiave, ma la chiave di sessione non è più valida. Questo errore viene generato se la chiave di sessione viene eliminata prima del completamento dell'operazione di hashing.
NTE_BAD_UID
Impossibile trovare il contesto CSP specificato quando l'oggetto hash è stato creato.
NTE_FAIL
La funzione non è riuscita in modo imprevisto.

Requisiti

Requisito Valore
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

CryptCreateHash

CryptGenKey

CryptHashData

Funzioni hash e firma digitale