Função BCryptDeriveKeyCapi (bcrypt.h)
A função BCryptDeriveKeyCapi deriva uma chave de um valor de hash.
Essa função é fornecida como uma função auxiliar para ajudar a migrar aplicativos herdados baseados em CAPI (API de Criptografia) para usar a API de Criptografia: CNG (Próxima Geração). A função BCryptDeriveKeyCapi executa a derivação de chave de uma maneira compatível com a função CAPI CryptDeriveKey .
Sintaxe
NTSTATUS BCryptDeriveKeyCapi(
[in] BCRYPT_HASH_HANDLE hHash,
[in, optional] BCRYPT_ALG_HANDLE hTargetAlg,
[out] PUCHAR pbDerivedKey,
[in] ULONG cbDerivedKey,
[in] ULONG dwFlags
);
Parâmetros
[in] hHash
O identificador do objeto hash. O identificador é obtido chamando a função BCryptCreateHash . Quando terminar de usar o identificador, você deverá liberá-lo chamando a função BCryptDestroyHash .
[in, optional] hTargetAlg
O identificador do objeto de algoritmo. Esse pode ser um valor ALG_ID compatível com a função CryptDeriveKey .
[out] pbDerivedKey
Um ponteiro para o buffer que recebe a chave derivada.
[in] cbDerivedKey
O tamanho, em caracteres, da chave derivada apontada pelo parâmetro pbDerivedKey .
[in] dwFlags
Esse parâmetro é reservado e deve ser definido como zero.
Retornar valor
Retorna um código status que indica o êxito ou a falha da função.
Os códigos de retorno possíveis incluem, mas não se limitam a, o seguinte.
Código de retorno | Descrição |
---|---|
|
A função foi bem-sucedida. |
|
O identificador no parâmetro hHash ou hTargetAlg não é válido. |
|
O valor no parâmetro cbDerivedKey é maior que o dobro do tamanho da saída da função de hash. |
|
Ocorreu uma falha de alocação de memória. |
Comentários
Essa função não dá suporte à funcionalidade de sal PK da função CapI CryptDeriveKey .
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 7 [aplicativos da área de trabalho | Aplicativos UWP] |
Servidor mínimo com suporte | Windows Server 2008 R2 [aplicativos da área de trabalho | Aplicativos UWP] |
Plataforma de Destino | Windows |
Cabeçalho | bcrypt.h |
Biblioteca | Bcrypt.lib |
DLL | Bcrypt.dll |