Condividi tramite


Funzione VerifySignature (sspi.h)

Verifica che un messaggio firmato usando la funzione MakeSignature sia stato ricevuto nella sequenza corretta e non sia stato modificato.

Sintassi

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

Parametri

[in] phContext

Handle al contesto di sicurezza da usare per il messaggio.

[in] pMessage

Puntatore a una struttura SecBufferDesc che fa riferimento a un set di strutture SecBuffer che contengono il messaggio e la firma da verificare. La firma si trova in una struttura SecBuffer di tipo SECBUFFER_TOKEN.

[in] MessageSeqNo

Specifica il numero di sequenza previsto dall'applicazione di trasporto, se presente. Se l'applicazione di trasporto non mantiene i numeri di sequenza, questo parametro è zero.

[out] pfQOP

Puntatore a una variabile ULONG che riceve flag specifici del pacchetto che indicano la qualità della protezione.

Alcuni pacchetti di sicurezza ignorano questo parametro.

Valore restituito

Se la funzione verifica che il messaggio sia stato ricevuto nella sequenza corretta e non sia stato modificato, il valore restituito è SEC_E_OK.

Se la funzione determina che il messaggio non è corretto in base alle informazioni nella firma, il valore restituito può essere uno dei codici di errore seguenti.

Codice restituito Descrizione
SEC_E_OUT_OF_SEQUENCE
Il messaggio non è stato ricevuto nella sequenza corretta.
SEC_E_MESSAGE_ALTERED
Il messaggio è stato modificato.
SEC_E_INVALID_HANDLE
L'handle di contesto specificato da phContext non è valido.
SEC_E_INVALID_TOKEN
pMessage non contiene un buffer di SECBUFFER_TOKEN valido o troppo pochi buffer.
SEC_E_QOP_NOT_SUPPORTED
La qualità della protezione negoziata tra il client e il server non includevano il controllo dell'integrità .

Commenti

Avviso  

La funzione VerifySignature avrà esito negativo se il messaggio è stato firmato usando l'algoritmo RsaSignPssSha512 in una versione diversa di Windows. Ad esempio, un messaggio firmato chiamando la funzione MakeSignature in Windows 8 causerà l'esito negativo della funzione VerifySignature in Windows 8.1.

 

Requisiti

Requisito Valore
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione sspi.h (includere Security.h)
Libreria Secur32.lib
DLL Secur32.dll

Vedi anche

MakeSignature

Funzioni SSPI

SecBuffer