Funzione CryptSetHashParam (wincrypt.h)
Sintassi
BOOL CryptSetHashParam(
[in] HCRYPTHASH hHash,
[in] DWORD dwParam,
[in] const BYTE *pbData,
[in] DWORD dwFlags
);
Parametri
[in] hHash
Handle per l'oggetto hash in cui impostare i parametri.
[in] dwParam
Questo parametro può avere uno dei valori seguenti.
Valore | Significato |
---|---|
|
Puntatore a una struttura HMAC_INFO che specifica l'algoritmo hash crittografico e le stringhe interne ed esterne da usare. |
|
Matrice di byte che contiene un valore hash da inserire direttamente nell'oggetto hash. Prima di impostare questo valore, è necessario determinare le dimensioni del valore hash usando la funzione CryptGetHashParam per leggere il valore HP_HASHSIZE.
Alcuni provider di servizi di crittografia (CSP) non supportano questa funzionalità. |
[in] pbData
Buffer di dati di valore. Inserire i dati del valore in questo buffer prima di chiamare CryptSetHashParam. La forma di questi dati varia a seconda del numero di valore.
[in] dwFlags
Questo parametro è riservato per uso futuro e deve essere impostato su zero.
Valore restituito
Se la funzione ha esito positivo, la funzione restituisce TRUE.
Se la funzione ha esito negativo, restituisce FALSE. Per informazioni sugli errori estesi, chiamare GetLastError.
I codici di errore preceduti da "NTE" vengono generati dal CSP specifico in uso. Di seguito sono riportati alcuni possibili codici di errore.
Codice restituito | Descrizione |
---|---|
|
Uno dei parametri specifica un handle non valido. |
|
Il contesto CSP è attualmente usato da un altro processo. |
|
Uno dei parametri contiene un valore non valido. Si tratta più spesso di un puntatore che non è valido. |
|
Il parametro dwFlags è diverso da zero o il buffer pbData contiene un valore non valido. |
|
L'oggetto hash specificato dal parametro hHash non è valido. |
|
Il parametro dwParam specifica un valore sconosciuto. |
|
Impossibile trovare il contesto CSP specificato quando è stata creata la chiave hKey . |
|
La funzione non è riuscita in modo imprevisto. |
Commenti
In alcuni casi, è necessario firmare un valore hash generato altrove. Questa operazione può essere eseguita usando la sequenza di operazioni seguente:
- Creare un oggetto hash usando CryptCreateHash.
- Impostare il valore HP_HASHVAL.
- Firmare il valore hash usando CryptSignHash e ottenere un blocco di firma digitale.
- Eliminare definitivamente l'oggetto hash usando CryptDestroyHash.
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 | Advapi32.lib |
DLL | Advapi32.dll |