Função NCryptVerifySignature (ncrypt.h)
A função NCryptVerifySignature verifica se a assinatura especificada corresponde ao hash especificado.
Sintaxe
SECURITY_STATUS NCryptVerifySignature(
[in] NCRYPT_KEY_HANDLE hKey,
[in, optional] VOID *pPaddingInfo,
[in] PBYTE pbHashValue,
[in] DWORD cbHashValue,
[in] PBYTE pbSignature,
[in] DWORD cbSignature,
[in] DWORD dwFlags
);
Parâmetros
[in] hKey
O identificador da chave a ser usada para descriptografar a assinatura. Essa deve ser uma chave idêntica ou a parte de chave pública do par de chaves usado para assinar os dados com a função NCryptSignHash .
[in, optional] pPaddingInfo
Um ponteiro para uma estrutura que contém informações de preenchimento. O tipo real de estrutura para o qual esse parâmetro aponta depende do valor do parâmetro dwFlags . Esse parâmetro só é usado com chaves assimétricas e deve ser NULL caso contrário.
[in] pbHashValue
O endereço de um buffer que contém o hash dos dados. O parâmetro cbHash contém o tamanho desse buffer.
[in] cbHashValue
O tamanho, em bytes, do buffer pbHash .
[in] pbSignature
O endereço de um buffer que contém o hash assinado dos dados. A função NCryptSignHash é usada para criar a assinatura. O parâmetro cbSignature contém o tamanho desse buffer.
[in] cbSignature
O tamanho, em bytes, do buffer pbSignature . A função NCryptSignHash é usada para criar a assinatura.
[in] dwFlags
Sinalizadores que modificam o comportamento da função. O conjunto permitido de sinalizadores depende do tipo de chave especificado pelo parâmetro hKey .
Se a chave for uma chave simétrica, esse parâmetro não será usado e deverá ser zero.
Se a chave for uma chave assimétrica, esse poderá ser um dos valores a seguir.
Valor | Significado |
---|---|
|
O esquema de preenchimento PKCS1 foi usado quando a assinatura foi criada. O parâmetro pPaddingInfo é um ponteiro para uma estrutura BCRYPT_PKCS1_PADDING_INFO . |
|
O esquema de preenchimento PSS (Probabilistic Signature Scheme) foi usado quando a assinatura foi criada. O parâmetro pPaddingInfo é um ponteiro para uma estrutura BCRYPT_PSS_PADDING_INFO . |
|
Solicita que o KSP (provedor de serviços de chave) não exiba nenhuma interface do usuário. Se o provedor precisar exibir a interface do usuário para operar, a chamada falhará e o KSP deverá definir o código de erro NTE_SILENT_CONTEXT como o último erro. |
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. |
|
A assinatura não foi verificada. |
|
O parâmetro hKey não é válido. |
|
Ocorreu uma falha de alocação de memória. |
|
O provedor de algoritmo usado para criar o identificador de chave especificado pelo parâmetro hKey não é um algoritmo de assinatura. |
Comentários
Um serviço não deve chamar essa função de sua função StartService. Se um serviço chamar essa função de sua função StartService, um deadlock poderá ocorrer e o serviço poderá parar de responder.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows Vista [aplicativos da área de trabalho | Aplicativos UWP] |
Servidor mínimo com suporte | Windows Server 2008 [aplicativos da área de trabalho | Aplicativos UWP] |
Plataforma de Destino | Windows |
Cabeçalho | ncrypt.h |
Biblioteca | Ncrypt.lib |
DLL | Ncrypt.dll |