Funzione CryptGetMessageSignerCount (wincrypt.h)

La funzione CryptGetMessageSignerCount restituisce il numero di firmatari di un messaggio firmato.

Nota

Questa funzione può restituire un conteggio dei firmatari duplicati e pertanto potrebbe non essere sufficiente per evitare attacchi. È consigliabile usare il campo sid (SignerIdentifier) di SignerInfo per identificare i firmatari duplicati in un messaggio.

Sintassi

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

Parametri

[in] dwMsgEncodingType

Specifica il tipo di codifica utilizzato. È sempre accettabile specificare sia il certificato che i tipi di codifica dei messaggi combinandoli con un'operazione OR bit per bit, come illustrato nell'esempio seguente:

X509_ASN_ENCODING | PKCS_7_ASN_ENCODING

I tipi di codifica attualmente definiti sono:

  • X509_ASN_ENCODING
  • PKCS_7_ASN_ENCODING

[in] pbSignedBlob

Puntatore a un buffer contenente il messaggio firmato.

[in] cbSignedBlob

Dimensione, in byte, del messaggio firmato.

Valore restituito

Restituisce il numero di firmatari di un messaggio firmato, zero quando non sono presenti firmatari e meno uno (-1) per un errore.

Per informazioni sugli errori estesi, chiamare GetLastError. Il codice di errore seguente viene restituito più comunemente.

Codice restituito Descrizione
E_INVALIDARG
Tipo di codifica del messaggio non valido. Attualmente è supportato solo PKCS_7_ASN_ENCODING.
 

Se la funzione ha esito negativo, GetLastError può restituire un errore di codifica/decodifica ASN.1 ( Abstract Syntax Notation One ). Per informazioni su questi errori, vedere Codifica ASN.1/Decodifica dei valori restituiti.

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

Vedi anche

CryptVerifyMessageSignature

Funzioni di messaggio semplificate