CryptGetMessageSignerCount-Funktion (wincrypt.h)

Die CryptGetMessageSignerCount-Funktion gibt die Anzahl der Unterzeichner einer signierten Nachricht zurück.

Hinweis

Diese Funktion gibt möglicherweise eine Anzahl doppelter Signierer zurück und reicht daher möglicherweise nicht aus, um Angriffe abzuwenden. Es wird empfohlen, das Feld sid (SignerIdentifier) von SignerInfo zu verwenden, um doppelte Unterzeichner in einer Nachricht zu identifizieren.

Syntax

LONG CryptGetMessageSignerCount(
  [in] DWORD      dwMsgEncodingType,
  [in] const BYTE *pbSignedBlob,
  [in] DWORD      cbSignedBlob
);

Parameter

[in] dwMsgEncodingType

Gibt den verwendeten Codierungstyp an. Es ist immer akzeptabel, sowohl den Zertifikat- als auch den Nachrichtencodierungstyp anzugeben, indem sie mit einem bitweisen OR-Vorgang kombiniert werden, wie im folgenden Beispiel gezeigt:

X509_ASN_ENCODING | PKCS_7_ASN_ENCODING

Derzeit definierte Codierungstypen sind:

  • X509_ASN_ENCODING
  • PKCS_7_ASN_ENCODING

[in] pbSignedBlob

Ein Zeiger auf einen Puffer, der die signierte Nachricht enthält.

[in] cbSignedBlob

Die Größe der signierten Nachricht in Bytes.

Rückgabewert

Gibt die Anzahl der Signierer einer signierten Nachricht zurück, null, wenn keine Unterzeichner vorhanden sind, und minus 1 (–1) für einen Fehler.

Rufen Sie GetLastError auf, um erweiterte Fehlerinformationen zu erhalten. Der folgende Fehlercode wird am häufigsten zurückgegeben.

Rückgabecode Beschreibung
E_INVALIDARG
Ungültiger Nachrichtencodierungstyp. Derzeit wird nur PKCS_7_ASN_ENCODING unterstützt.
 

Wenn die Funktion fehlschlägt, gibt GetLastError möglicherweise einen ASN.1-Codierungs-/Decodierungsfehler ( Abstract Syntax Notation One ) zurück. Informationen zu diesen Fehlern finden Sie unter ASN.1 Encoding/Decoding Return Values.

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 wincrypt.h
Bibliothek Crypt32.lib
DLL Crypt32.dll

Weitere Informationen

CryptVerifyMessageSignature

Vereinfachte Nachrichtenfunktionen