BCryptSecretAgreement, fonction (bcrypt.h)
La fonction BCryptSecretAgreement crée une valeur d’accord secret à partir d’une clé privée et d’une clé publique.
Syntaxe
NTSTATUS BCryptSecretAgreement(
[in] BCRYPT_KEY_HANDLE hPrivKey,
[in] BCRYPT_KEY_HANDLE hPubKey,
[out] BCRYPT_SECRET_HANDLE *phAgreedSecret,
[in] ULONG dwFlags
);
Paramètres
[in] hPrivKey
Handle de la clé privée à utiliser pour créer la valeur du contrat secret. Cette clé et la clé hPubKey doivent provenir du même fournisseur d’algorithme de chiffrement CNG.
[in] hPubKey
Handle de la clé publique à utiliser pour créer la valeur du contrat secret. Cette clé et la clé hPrivKey doivent provenir du même fournisseur d’algorithme de chiffrement CNG.
[out] phAgreedSecret
Pointeur vers un BCRYPT_SECRET_HANDLE qui reçoit un handle qui représente la valeur de l’accord secret. Ce handle doit être libéré en le passant à la fonction BCryptDestroySecret lorsqu’il n’est plus nécessaire.
[in] dwFlags
Ensemble d’indicateurs qui modifient le comportement de cette fonction. Aucun indicateur n’est défini pour cette fonction.
Valeur retournée
Retourne un code status qui indique la réussite ou l’échec de la fonction.
Les codes de retour possibles incluent, sans s’y limiter, les éléments suivants.
Code de retour | Description |
---|---|
|
La fonction a réussi. |
|
Le handle de clé dans le paramètre hPrivKey ou hPubKey n’est pas valide. |
|
Un ou plusieurs paramètres ne sont pas valides. |
|
Le handle de clé dans le paramètre hPrivKey n’est pas une clé Diffie-Hellman. |
Remarques
Selon les modes de processeur pris en charge par un fournisseur, BCryptSecretAgreement peut être appelé à partir du mode utilisateur ou du mode noyau. Les appelants en mode noyau peuvent s’exécuter à PASSIVE_LEVELIRQL ou DISPATCH_LEVEL IRQL. Si le niveau IRQL actuel est DISPATCH_LEVEL, les handles fournis dans les paramètres hPrivKey et hPubKey doivent être dérivés d’un handle d’algorithme retourné par un fournisseur qui a été ouvert à l’aide de l’indicateur BCRYPT_PROV_DISPATCH , et tous les pointeurs passés à la fonction BCryptSecretAgreement doivent faire référence à la mémoire non paginée (ou verrouillée).
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.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows Vista [applications de bureau | applications UWP] |
Serveur minimal pris en charge | Windows Server 2008 [applications de bureau | applications UWP] |
Plateforme cible | Windows |
En-tête | bcrypt.h |
Bibliothèque | Bcrypt.lib |
DLL | Bcrypt.dll |
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour