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