Função CryptSetHashParam (wincrypt.h)
Sintaxe
BOOL CryptSetHashParam(
[in] HCRYPTHASH hHash,
[in] DWORD dwParam,
[in] const BYTE *pbData,
[in] DWORD dwFlags
);
Parâmetros
[in] hHash
Um identificador para o objeto hash no qual definir parâmetros.
[in] dwParam
Esse parâmetro pode usar um dos valores a seguir.
Valor | Significado |
---|---|
|
Um ponteiro para uma estrutura HMAC_INFO que especifica o algoritmo de hash criptográfico e as cadeias de caracteres internas e externas a serem usadas. |
|
Uma matriz de bytes que contém um valor de hash a ser colocado diretamente no objeto hash. Antes de definir esse valor, o tamanho do valor de hash deve ser determinado usando a função CryptGetHashParam para ler o valor HP_HASHSIZE.
Alguns CSPs ( provedores de serviços criptográficos ) não dão suporte a essa funcionalidade. |
[in] pbData
Um buffer de dados de valor. Coloque os dados de valor nesse buffer antes de chamar CryptSetHashParam. A forma desses dados varia, dependendo do número do valor.
[in] dwFlags
Esse parâmetro é reservado para uso futuro e deve ser definido como zero.
Retornar valor
Se a função for bem-sucedida, a função retornará TRUE.
Se a função falhar, ela retornará FALSE. Para obter informações de erro estendidas, chame GetLastError.
Os códigos de erro precedidos por "NTE" são gerados pelo CSP específico que você está usando. Alguns códigos de erro possíveis seguem.
Código de retorno | Descrição |
---|---|
|
Um dos parâmetros especifica um identificador que não é válido. |
|
O contexto do CSP está sendo usado por outro processo. |
|
Um dos parâmetros contém um valor que não é válido. Geralmente, esse é um ponteiro que não é válido. |
|
O parâmetro dwFlags é diferente de zero ou o buffer pbData contém um valor que não é válido. |
|
O objeto hash especificado pelo parâmetro hHash não é válido. |
|
O parâmetro dwParam especifica um valor desconhecido. |
|
O contexto CSP especificado quando a chave hKey foi criada não pode ser encontrado. |
|
A função falhou de alguma forma inesperada. |
Comentários
Ocasionalmente, um valor de hash que foi gerado em outro lugar deve ser assinado. Isso pode ser feito usando a seguinte sequência de operações:
- Crie um objeto hash usando CryptCreateHash.
- Defina o valor HP_HASHVAL.
- Assine o valor de hash usando CryptSignHash e obtenha um bloco de assinatura digital.
- Destrua o objeto hash usando CryptDestroyHash.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows XP [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2003 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | wincrypt.h |
Biblioteca | Advapi32.lib |
DLL | Advapi32.dll |