Funzione CryptVerifyDetachedMessageSignature (wincrypt.h)
La funzione CryptVerifyDetachedMessageSignature verifica un messaggio firmato contenente una firma o firme scollegate.
Sintassi
BOOL CryptVerifyDetachedMessageSignature(
[in] PCRYPT_VERIFY_MESSAGE_PARA pVerifyPara,
[in] DWORD dwSignerIndex,
[in] const BYTE *pbDetachedSignBlob,
[in] DWORD cbDetachedSignBlob,
[in] DWORD cToBeSigned,
[in] const BYTE * [] rgpbToBeSigned,
[in] DWORD [] rgcbToBeSigned,
[out, optional] PCCERT_CONTEXT *ppSignerCert
);
Parametri
[in] pVerifyPara
Puntatore a una struttura CRYPT_VERIFY_MESSAGE_PARA contenente i parametri di verifica.
[in] dwSignerIndex
Indice della firma da verificare. Un messaggio potrebbe avere diversi signer e questa funzione può essere chiamata ripetutamente, modificando dwSignerIndex per verificare altre firme. Se la funzione restituisce FALSE e GetLastError restituisce CRYPT_E_NO_SIGNER, la chiamata precedente ha ricevuto l'ultimo segno del messaggio.
[in] pbDetachedSignBlob
Puntatore a un BLOB contenente le firme dei messaggi codificate.
[in] cbDetachedSignBlob
Dimensioni, in byte, della firma scollegata.
[in] cToBeSigned
Numero di elementi di matrice in rgpbToBeSigned e rgcbToBeSigned.
[in] rgpbToBeSigned
Matrice di puntatori ai buffer contenenti il contenuto da hashare.
[in] rgcbToBeSigned
Matrice di dimensioni, in byte, per i buffer di contenuto a cui punta rgpbToBeSigned.
[out, optional] ppSignerCert
Puntatore a un puntatore a una struttura CERT_CONTEXT di un certificato di firma. Al termine dell'uso del contesto del certificato, liberarlo chiamando la funzione CertFreeCertificateContext . Un puntatore a una struttura CERT_CONTEXT non verrà restituito se questo parametro è NULL.
Valore restituito
Se la funzione ha esito positivo, il valore restituito è diverso da zero (TRUE).
Se la funzione ha esito negativo, il valore restituito è zero (FALSE).
Per informazioni sull'errore estese, chiamare GetLastError.
Di seguito sono elencati i codici di errore più comunemente restituiti dalla funzione GetLastError .
Codice restituito | Descrizione |
---|---|
|
Tipi di codifica del messaggio e del certificato non validi. Attualmente sono supportati solo PKCS_7_ASN_ENCODING e X509_ASN_ENCODING_TYPE. CbSize non valido in *pVerifyPara. |
|
Non un messaggio crittografico firmato. |
|
Il messaggio non ha alcun segno o un firmatario per il dwSignerIndex specificato. |
|
Il messaggio è stato hashato e firmato usando un algoritmo sconosciuto o non supportato. |
|
La firma del messaggio non è stata verificata. |
Se la funzione ha esito negativo, GetLastError potrebbe restituire un errore di codifica astratta Notation One (ASN.1). Per informazioni su questi errori, vedere Codifica ASN.1/Decodifica dei valori restituiti.
Requisiti
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 |