Freigeben über


VerifySignature-Funktion (sspi.h)

Überprüft, ob eine mit der MakeSignature-Funktion signierte Nachricht in der richtigen Reihenfolge empfangen und nicht geändert wurde.

Syntax

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

Parameter

[in] phContext

Ein Handle für den Sicherheitskontext , der für die Nachricht verwendet werden soll.

[in] pMessage

Zeiger auf eine SecBufferDesc-Struktur , die auf einen Satz von SecBuffer-Strukturen verweist, die die Nachricht und die zu überprüfende Signatur enthalten. Die Signatur befindet sich in einer SecBuffer-Struktur vom Typ SECBUFFER_TOKEN.

[in] MessageSeqNo

Gibt die Sequenznummer an, die von der Transportanwendung erwartet wird, falls vorhanden. Wenn die Transportanwendung keine Sequenznummern verwaltet, ist dieser Parameter 0.

[out] pfQOP

Zeiger auf eine ULONG-Variable , die paketspezifische Flags empfängt, die die Qualität des Schutzes angeben.

Einige Sicherheitspakete ignorieren diesen Parameter.

Rückgabewert

Wenn die Funktion überprüft, ob die Nachricht in der richtigen Sequenz empfangen und nicht geändert wurde, wird der Rückgabewert SEC_E_OK.

Wenn die Funktion feststellt, dass die Nachricht gemäß den Informationen in der Signatur nicht korrekt ist, kann der Rückgabewert einer der folgenden Fehlercodes sein.

Rückgabecode Beschreibung
SEC_E_OUT_OF_SEQUENCE
Die Nachricht wurde nicht in der richtigen Reihenfolge empfangen.
SEC_E_MESSAGE_ALTERED
Die Nachricht wurde geändert.
SEC_E_INVALID_HANDLE
Das von phContext angegebene Kontexthandle ist ungültig.
SEC_E_INVALID_TOKEN
pMessage enthielt keinen gültigen SECBUFFER_TOKEN Puffer oder zu wenige Puffer.
SEC_E_QOP_NOT_SUPPORTED
Die zwischen Client und Server ausgehandelte Qualität des Schutzes umfasste keine Integritätsprüfung .

Hinweise

Warnung  

Die VerifySignature-Funktion schlägt fehl, wenn die Nachricht mit dem RsaSignPssSha512-Algorithmus unter einer anderen Version von Windows signiert wurde. Beispielsweise führt eine Nachricht, die durch Aufrufen der MakeSignature-Funktion auf Windows 8 signiert wurde, dazu, dass die VerifySignature-Funktion auf Windows 8.1 fehlschlägt.

 

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile sspi.h (einschließlich Security.h)
Bibliothek Secur32.lib
DLL Secur32.dll

Weitere Informationen

MakeSignature

SSPI-Funktionen

SecBuffer