Compartilhar via


Função VerifySignature (sspi.h)

Verifica se uma mensagem assinada usando a função MakeSignature foi recebida na sequência correta e não foi modificada.

Sintaxe

KSECDDDECLSPEC SECURITY_STATUS SEC_ENTRY VerifySignature(
  [in]  PCtxtHandle    phContext,
  [in]  PSecBufferDesc pMessage,
  [in]  unsigned long  MessageSeqNo,
  [out] unsigned long  *pfQOP
);

Parâmetros

[in] phContext

Um identificador para o contexto de segurança a ser usado para a mensagem.

[in] pMessage

Ponteiro para uma estrutura SecBufferDesc que faz referência a um conjunto de estruturas SecBuffer que contêm a mensagem e a assinatura a serem verificadas. A assinatura está em uma estrutura SecBuffer do tipo SECBUFFER_TOKEN.

[in] MessageSeqNo

Especifica o número de sequência esperado pelo aplicativo de transporte, se houver. Se o aplicativo de transporte não mantiver números de sequência, esse parâmetro será zero.

[out] pfQOP

Ponteiro para uma variável ULONG que recebe sinalizadores específicos do pacote que indicam a qualidade da proteção.

Alguns pacotes de segurança ignoram esse parâmetro.

Retornar valor

Se a função verificar se a mensagem foi recebida na sequência correta e não foi modificada, o valor retornado será SEC_E_OK.

Se a função determinar que a mensagem não está correta de acordo com as informações na assinatura, o valor retornado poderá ser um dos seguintes códigos de erro.

Código de retorno Descrição
SEC_E_OUT_OF_SEQUENCE
A mensagem não foi recebida na sequência correta.
SEC_E_MESSAGE_ALTERED
A mensagem foi alterada.
SEC_E_INVALID_HANDLE
O identificador de contexto especificado por phContext não é válido.
SEC_E_INVALID_TOKEN
pMessage não continha um buffer de SECBUFFER_TOKEN válido ou continha poucos buffers.
SEC_E_QOP_NOT_SUPPORTED
A qualidade da proteção negociada entre o cliente e o servidor não incluiu a verificação de integridade .

Comentários

Aviso  

A função VerifySignature falhará se a mensagem tiver sido assinada usando o algoritmo RsaSignPssSha512 em uma versão diferente do Windows. Por exemplo, uma mensagem assinada chamando a função MakeSignature no Windows 8 fará com que a função VerifySignature no Windows 8.1 falhe.

 

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 sspi.h (inclua Security.h)
Biblioteca Secur32.lib
DLL Secur32.dll

Confira também

Makesignature

Funções SSPI

Secbuffer