CryptSetHashParam, fonction (wincrypt.h)
Syntaxe
BOOL CryptSetHashParam(
[in] HCRYPTHASH hHash,
[in] DWORD dwParam,
[in] const BYTE *pbData,
[in] DWORD dwFlags
);
Paramètres
[in] hHash
Handle de l’objet de hachage sur lequel définir des paramètres.
[in] dwParam
Ce paramètre peut prendre les valeurs suivantes.
Valeur | Signification |
---|---|
|
Pointeur vers une structure HMAC_INFO qui spécifie l’algorithme de hachage de chiffrement et les chaînes internes et externes à utiliser. |
|
Tableau d’octets qui contient une valeur de hachage à placer directement dans l’objet de hachage. Avant de définir cette valeur, la taille de la valeur de hachage doit être déterminée à l’aide de la fonction CryptGetHashParam pour lire la valeur HP_HASHSIZE.
Certains fournisseurs de services de chiffrement (CSP) ne prennent pas en charge cette fonctionnalité. |
[in] pbData
Mémoire tampon de données de valeur. Placez les données de valeur dans cette mémoire tampon avant d’appeler CryptSetHashParam. La forme de ces données varie en fonction du nombre de valeurs.
[in] dwFlags
Ce paramètre est réservé à une utilisation ultérieure et doit être défini sur zéro.
Valeur retournée
Si la fonction réussit, la fonction retourne TRUE.
Si la fonction échoue, elle retourne FALSE. Pour obtenir des informations d’erreur étendues, appelez GetLastError.
Les codes d’erreur préfacés par « NTE » sont générés par le fournisseur de solutions Cloud que vous utilisez. Certains codes d’erreur possibles suivent.
Code de retour | Description |
---|---|
|
L’un des paramètres spécifie un handle qui n’est pas valide. |
|
Le contexte CSP est actuellement utilisé par un autre processus. |
|
L’un des paramètres contient une valeur qui n’est pas valide. Il s’agit le plus souvent d’un pointeur qui n’est pas valide. |
|
Le paramètre dwFlags est différent de zéro ou la mémoire tampon pbData contient une valeur qui n’est pas valide. |
|
L’objet de hachage spécifié par le paramètre hHash n’est pas valide. |
|
Le paramètre dwParam spécifie une valeur inconnue. |
|
Le contexte CSP qui a été spécifié lors de la création de la clé hKey est introuvable. |
|
La fonction a échoué d’une manière inattendue. |
Remarques
Parfois, une valeur de hachage qui a été générée ailleurs doit être signée. Pour ce faire, utilisez la séquence d’opérations suivante :
- Créez un objet de hachage à l’aide de CryptCreateHash.
- Définissez la valeur HP_HASHVAL.
- Signez la valeur de hachage à l’aide de CryptSignHash et obtenez un bloc de signature numérique.
- Détruisez l’objet de hachage à l’aide de CryptDestroyHash.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows XP [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2003 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | wincrypt.h |
Bibliothèque | Advapi32.lib |
DLL | Advapi32.dll |