Funzione CryptHashCertificate (wincrypt.h)

Importante Questa API è deprecata. Il software nuovo ed esistente deve iniziare a usare le API cryptography next generation. Microsoft potrebbe rimuovere questa API nelle versioni future.
 
La funzione CryptHashCertificateesegue l'hash dell'intero contenuto codificato di un certificato , inclusa la firma.

Sintassi

BOOL CryptHashCertificate(
  [in]      HCRYPTPROV_LEGACY hCryptProv,
  [in]      ALG_ID            Algid,
  [in]      DWORD             dwFlags,
  [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 (CSP) da usare per calcolare l'hash.

Il tipo di dati di questo parametro è HCRYPTPROV.

A meno che non vi sia un motivo sicuro per passare un CSP specifico in hCryptProv, viene passato zero. Se si passa zero, il provider RSA o Digital Signature Standard (DSS) predefinito viene acquisito prima di eseguire operazioni hash, verifica della firma o crittografia del destinatario.

[in] Algid

Struttura ALG_ID che specifica l'algoritmo hash da usare. Se Algid è zero, viene usato l'algoritmo hash predefinito SHA1.

[in] dwFlags

Valore da passare all'API hash. Per informazioni dettagliate, vedere CryptCreateHash.

[in] pbEncoded

Indirizzo del contenuto codificato di cui eseguire l'hashing.

[in] cbEncoded

Dimensione, in byte, del contenuto codificato.

[out] pbComputedHash

Puntatore a un buffer per ricevere l'hash calcolato.

Per impostare le dimensioni di queste informazioni ai fini dell'allocazione di memoria, questo parametro può essere NULL. Per altre informazioni, vedere Recupero di 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 viene restituita, il DWORD contiene il numero di byte archiviati nel buffer.

Nota Quando si elaborano i dati restituiti nel buffer, le applicazioni devono usare le dimensioni effettive dei dati restituiti. Le dimensioni effettive possono essere leggermente inferiori alle dimensioni del buffer specificato nell'input. In base all'input, le dimensioni del buffer vengono in genere specificate sufficientemente grandi per garantire che i dati di output più grandi si adattino al buffer. Nell'output la variabile a cui punta questo parametro viene aggiornata in modo da riflettere le dimensioni effettive dei dati copiati nel buffer.
 

Valore restituito

Se la funzione ha esito positivo, la funzione restituisce un valore diverso da zero (TRUE).

Se la funzione non riesce, restituisce zero (FALSE). Per informazioni sugli errori estesi, chiamare GetLastError.

Nota Gli errori delle funzioni chiamate CryptCreateHash, CryptGetHashParam e CryptHashData potrebbero essere propagati a questa funzione.
 

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

Vedi anche

CryptHashPublicKeyInfo

CryptHashToBeSigned

Funzioni Gestione dati