BCryptSignHash, fonction (bcrypt.h)
La fonction BCryptSignHash crée une signature d’une valeur de hachage.
Syntaxe
NTSTATUS BCryptSignHash(
[in] BCRYPT_KEY_HANDLE hKey,
[in, optional] VOID *pPaddingInfo,
[in] PUCHAR pbInput,
[in] ULONG cbInput,
[out] PUCHAR pbOutput,
[in] ULONG cbOutput,
[out] ULONG *pcbResult,
[in] ULONG dwFlags
);
Paramètres
[in] hKey
Handle de la clé à utiliser pour signer le hachage.
[in, optional] pPaddingInfo
Pointeur vers une structure qui contient des informations de remplissage. Le type réel de structure auquel ce paramètre pointe dépend de la valeur du paramètre dwFlags. Ce paramètre est utilisé uniquement avec des clés asymétriques et doit être null sinon.
[in] pbInput
Pointeur vers une mémoire tampon qui contient la valeur de hachage à signer. Le paramètre cbInput contient la taille de cette mémoire tampon.
[in] cbInput
Nombre d’octets dans la mémoire tampon pbInput à signer.
[out] pbOutput
Adresse d’une mémoire tampon pour recevoir la signature produite par cette fonction. Le paramètre cbOutput contient la taille de cette mémoire tampon.
Si ce paramètre est NULL, cette fonction calcule la taille requise pour la signature et retourne la taille dans l’emplacement vers lequel pointe le paramètre ccpResult.
[in] cbOutput
Taille, en octets, de la mémoire tampon pbOutput
[out] pcbResult
Pointeur vers une variable ULONG qui reçoit le nombre d’octets copiés dans la mémoire tampon pbOutput.
Si pbOutput est NULL, cela reçoit la taille, en octets, requise pour la signature.
[in] dwFlags
Ensemble d’indicateurs qui modifient le comportement de cette fonction. Le jeu d’indicateurs autorisé dépend du type de clé spécifié par le paramètre hKey.
Il peut s’agir de l’une des valeurs suivantes.
Valeur | Signification |
---|---|
|
Utilisez le schéma de remplissage PKCS1. Le paramètre pPaddingInfo est un pointeur vers une structure BCRYPT_PKCS1_PADDING_INFO. |
|
Utilisez le schéma de remplissage psS (Probabilistic Signature Scheme). Le paramètre pPaddingInfo est un pointeur vers une structure BCRYPT_PSS_PADDING_INFO. |
Valeur de retour
Retourne un code d’état qui indique la réussite ou l’échec de la fonction.
Les codes de retour possibles incluent, mais ne sont pas limités à, les éléments suivants.
Retourner le code | Description |
---|---|
|
La fonction a réussi. |
|
Le handle de clé spécifié par le paramètre hKey |
|
Le fournisseur d’algorithmes utilisé pour créer le handle de clé spécifié par le paramètre hKey n’est pas un algorithme de signature. |
|
Un échec d’allocation de mémoire s’est produit. |
|
La taille de mémoire spécifiée par le paramètre cbOutput n’est pas suffisamment grande pour contenir la signature. |
Remarques
Cette fonction chiffre la valeur de hachage avec la clé spécifiée pour créer la signature.
Pour vérifier ultérieurement que la signature est valide, appelez la fonction BCryptVerifySignature avec une clé identique et un hachage identique des données d’origine.
Selon les modes processeur pris en charge par un fournisseur, BCryptSignHash peut être appelé en mode utilisateur ou en mode noyau. Les appelants en mode noyau peuvent s’exécuter à PASSIVE_LEVEL IRQL ou DISPATCH_LEVEL IRQL. Si le niveau IRQL actuel est
Pour appeler cette fonction en mode noyau, utilisez Cng.lib, qui fait partie du Kit de développement de pilotes (DDK). Windows Server 2008 et Windows Vista : Pour appeler cette fonction en mode noyau, utilisez Ksecdd.lib.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Windows Vista [applications de bureau | Applications UWP] |
serveur minimum pris en charge | Windows Server 2008 [applications de bureau | Applications UWP] |
plateforme cible | Windows |
d’en-tête | bcrypt.h |
bibliothèque | Bcrypt.lib |
DLL | Bcrypt.dll |