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 .
[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 |
---|---|
|
La funzione ha avuto esito positivo. |
|
L'handle nel parametro hHash o hTargetAlg non è valido. |
|
Il valore nel parametro cbDerivedKey è maggiore di due volte le dimensioni di output della funzione hash. |
|
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 |