Funzione CryptHashPublicKeyInfo (wincrypt.h)
Sintassi
BOOL CryptHashPublicKeyInfo(
[in] HCRYPTPROV_LEGACY hCryptProv,
[in] ALG_ID Algid,
[in] DWORD dwFlags,
[in] DWORD dwCertEncodingType,
[in] PCERT_PUBLIC_KEY_INFO pInfo,
[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] Algid
Struttura ALG_ID che specifica l'algoritmo hash CryptoAPI da usare. Se Algid è zero, viene usato l'algoritmo hash predefinito MD5.
[in] dwFlags
Valori da passare a CryptCreateHash.
[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] pInfo
Puntatore a una struttura CERT_PUBLIC_KEY_INFO contenente le informazioni sulla chiave pubblica da codificare e hash.
[out] pbComputedHash
Puntatore a un buffer per ricevere l'hash calcolato.
Per impostare le dimensioni di queste informazioni per scopi di allocazione della memoria, questo parametro può essere NULL. 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. |
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
Requisito | Valore |
---|---|
Client minimo supportato | Windows XP [app desktop | App UWP] |
Server minimo supportato | Windows Server 2003 [app desktop | App UWP] |
Piattaforma di destinazione | Windows |
Intestazione | wincrypt.h |
Libreria | Crypt32.lib |
DLL | Crypt32.dll |