Funzione CryptHashToBeSigned (wincrypt.h)
Sintassi
BOOL CryptHashToBeSigned(
[in] HCRYPTPROV_LEGACY hCryptProv,
[in] DWORD dwCertEncodingType,
[in] const BYTE *pbEncoded,
[in] DWORD cbEncoded,
[out] BYTE *pbComputedHash,
[in, out] DWORD *pcbComputedHash
);
Parametri
[in] hCryptProv
Questo parametro non viene usato e deve essere impostato su NULL.
Windows Server 2003 e Windows XP: Handle del provider di servizi di crittografia da usare per calcolare l'hash. Il tipo di dati di questo parametro è HCRYPTPROV.
A meno che non vi sia un motivo forte per il passaggio di un provider di crittografia specifico in hCryptProv, zero viene passato. Il passaggio di zero causa l'acquisizione del provider RSA o Digital Signature Standard (DSS) predefinito prima di eseguire operazioni hash, verifica della firma o crittografia dei destinatari.
[in] dwCertEncodingType
Specifica il tipo di codifica usato. È sempre accettabile specificare sia i tipi di codifica del certificato che dei messaggi combinandoli con un'operazione bit per bit or , 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] pbEncoded
Indirizzo di un buffer che contiene il contenuto da hashare. Si tratta della forma codificata di un CERT_SIGNED_CONTENT_INFO.
[in] cbEncoded
Dimensione del buffer, in byte.
[out] pbComputedHash
Puntatore a un buffer per ricevere l'hash calcolato.
Questo parametro può essere NULL per impostare le dimensioni di queste informazioni per scopi di allocazione della memoria. Per altre informazioni, vedere Recupero dei dati di lunghezza sconosciuta.
[in, out] pcbComputedHash
Puntatore a un DWORD contenente le dimensioni, in byte, del buffer a cui punta il parametro pbComputedHash . Quando la funzione restituisce, la DWORD contiene il numero di byte archiviati nel buffer.
Valore restituito
Se la funzione ha esito positivo, la funzione restituisce non zero (TRUE).
Se la funzione ha esito negativo, restituisce zero (FALSE). Per informazioni sull'errore estese, chiamare GetLastError.
Codice restituito | Descrizione |
---|---|
|
Se il buffer specificato dal parametro pbComputedHash non è sufficiente per contenere i dati restituiti, la funzione imposta il codice ERROR_MORE_DATA e archivia le dimensioni del buffer necessarie, in byte, nella variabile puntata da pcbComputedHash. |
|
Tipo di codifica del certificato non valido. Attualmente è supportato solo X509_ASN_ENCODING. |
|
L'identificatore dell'oggetto (OID) dell'algoritmo di firma non esegue il mapping a un algoritmo hash noto o supportato. |
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 |