VerifySignature, fonction (sspi.h)

Vérifie qu’un message signé à l’aide de la fonction MakeSignature a été reçu dans l’ordre correct et qu’il n’a pas été modifié.

Syntaxe

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

Paramètres

[in] phContext

Handle du contexte de sécurité à utiliser pour le message.

[in] pMessage

Pointeur vers une structure SecBufferDesc qui référence un ensemble de structures SecBuffer qui contiennent le message et la signature à vérifier. La signature se trouve dans une structure SecBuffer de type SECBUFFER_TOKEN.

[in] MessageSeqNo

Spécifie le numéro de séquence attendu par l’application de transport, le cas échéant. Si l’application de transport ne gère pas les numéros de séquence, ce paramètre est égal à zéro.

[out] pfQOP

Pointeur vers une variable ULONG qui reçoit des indicateurs spécifiques au package qui indiquent la qualité de la protection.

Certains packages de sécurité ignorent ce paramètre.

Valeur retournée

Si la fonction vérifie que le message a été reçu dans l’ordre correct et qu’il n’a pas été modifié, la valeur de retour est SEC_E_OK.

Si la fonction détermine que le message n’est pas correct en fonction des informations contenues dans la signature, la valeur de retour peut être l’un des codes d’erreur suivants.

Code de retour Description
SEC_E_OUT_OF_SEQUENCE
Le message n’a pas été reçu dans l’ordre correct.
SEC_E_MESSAGE_ALTERED
Le message a été modifié.
SEC_E_INVALID_HANDLE
Le handle de contexte spécifié par phContext n’est pas valide.
SEC_E_INVALID_TOKEN
pMessage ne contenait pas de mémoire tampon SECBUFFER_TOKEN valide ou contenait trop peu de mémoires tampons.
SEC_E_QOP_NOT_SUPPORTED
La qualité de la protection négociée entre le client et le serveur n’incluait pas la vérification de l’intégrité .

Remarques

Avertissement  

La fonction VerifySignature échoue si le message a été signé à l’aide de l’algorithme RsaSignPssSha512 sur une autre version de Windows. Par exemple, un message signé en appelant la fonction MakeSignature sur Windows 8 entraîne l’échec de la fonction VerifySignature sur Windows 8.1.

 

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête sspi.h (include Security.h)
Bibliothèque Secur32.lib
DLL Secur32.dll

Voir aussi

MakeSignature

Fonctions SSPI

SecBuffer