Funzione BCryptDeriveKeyCapi (bcrypt.h)

La funzione BCryptDeriveKeyCapi deriva una chiave da un valore hash.

Questa funzione viene fornita come funzione helper per facilitare la migrazione di applicazioni basate su crittografia legacy (CAPI)-based per l'uso dell'API di crittografia: Next Generation (CNG). La funzione BCryptDeriveKeyCapi esegue la derivazione della chiave in modo compatibile con la funzione CAPI CryptDeriveKey .

Sintassi

NTSTATUS BCryptDeriveKeyCapi(
  [in]           BCRYPT_HASH_HANDLE hHash,
  [in, optional] BCRYPT_ALG_HANDLE  hTargetAlg,
  [out]          PUCHAR             pbDerivedKey,
  [in]           ULONG              cbDerivedKey,
  [in]           ULONG              dwFlags
);

Parametri

[in] hHash

Handle dell'oggetto hash. L'handle viene ottenuto chiamando la funzione BCryptCreateHash . Al termine dell'uso dell'handle, è necessario liberarlo chiamando la funzione BCryptDestroyHash .

[in, optional] hTargetAlg

Handle dell'oggetto algoritmo. Questo può essere un valore ALG_ID compatibile con la funzione CryptDeriveKey .

Nota Le limitazioni nell'espansione capi e chiave impediscono l'uso di qualsiasi algoritmo hash che genera un output maggiore di 512 bit.
 

[out] pbDerivedKey

Puntatore al buffer che riceve la chiave derivata.

[in] cbDerivedKey

Dimensioni, in caratteri, della chiave derivata a cui fa riferimento il parametro pbDerivedKey .

[in] dwFlags

Questo parametro è riservato e deve essere impostato su zero.

Valore restituito

Restituisce un codice di stato che indica l'esito positivo o negativo della funzione.

I codici restituiti possibili includono, ma non sono limitati a, i seguenti.

Codice restituito Descrizione
STATUS_SUCCESS
La funzione ha avuto esito positivo.
STATUS_INVALID_HANDLE
L'handle nel parametro hHash o hTargetAlg non è valido.
STATUS_INVALID_PARAMETER
Il valore nel parametro cbDerivedKey è maggiore di due volte le dimensioni di output della funzione hash.
STATUS_NO_MEMORY
Si è verificato un errore di allocazione della memoria.

Commenti

Questa funzione non supporta la funzionalità di sale PK della funzione CAPI CryptDeriveKey .

Requisiti

Requisito Valore
Client minimo supportato Windows 7 [app desktop | App UWP]
Server minimo supportato Windows Server 2008 R2 [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione bcrypt.h
Libreria Bcrypt.lib
DLL Bcrypt.dll