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 |
---|---|
|
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 |