BCryptKeyDerivation, fonction (bcrypt.h)
La fonction BCryptKeyDerivation dérive une clé sans nécessiter d’accord secret. Ses fonctionnalités sont similaires à celles de BCryptDeriveKey , mais ne nécessitent pas de valeur BCRYPT_SECRET_HANDLE comme entrée.
Syntaxe
NTSTATUS BCryptKeyDerivation(
[in] BCRYPT_KEY_HANDLE hKey,
[in, optional] BCryptBufferDesc *pParameterList,
[out] PUCHAR pbDerivedKey,
[in] ULONG cbDerivedKey,
[out] ULONG *pcbResult,
[in] ULONG dwFlags
);
Paramètres
[in] hKey
Gérer la clé d’entrée.
[in, optional] pParameterList
Pointeur vers une structure BCryptBufferDesc qui contient les paramètres KDF. Ce paramètre est facultatif et peut être NULL s’il n’est pas nécessaire. Les paramètres peuvent être spécifiques à une fonction de dérivation de clé (KDF) ou génériques. Le tableau suivant présente les paramètres obligatoires et facultatifs pour des KDF spécifiques implémentés par le fournisseur Microsoft Primitive.
KDF | Paramètre | Obligatoire |
---|---|---|
SP800-108 HMAC en mode compteur | KDF_LABEL | Oui |
KDF_CONTEXT | oui | |
KDF_HASH_ALGORITHM | oui | |
SP800-56A | KDF_ALGORITHMID | oui |
KDF_PARTYUINFO | oui | |
KDF_PARTYVINFO | oui | |
KDF_HASH_ALGORITHM | oui | |
KDF_SUPPPUBINFO | non | |
KDF_SUPPPRIVINFO | non | |
PBKDF2 | KDF_HASH_ALGORITHM | oui |
KDF_SALT | oui | |
KDF_ITERATION_COUNT | non | |
CAPI_KDF | KDF_HASH_ALGORITHM | oui |
Le paramètre générique suivant peut être utilisé :
- KDF_GENERIC_PARAMETER
SP800-108 HMAC en mode compteur :
- KDF_GENERIC_PARAMETER = KDF_LABEL||0x00||KDF_CONTEXT
SP800-56A
- KDF_GENERIC_PARAMETER = KDF_ALGORITHMID || KDF_PARTYUINFO || KDF_PARTYVINFO {|| KDF_SUPPPUBINFO } {|| KDF_SUPPPRIVINFO }
PBKDF2
- KDF_GENERIC_PARAMETER = KDF_SALT
- KDF_ITERATION_COUNT : la valeur par défaut est 10000
CAPI_KDF
- KDF_GENERIC_PARAMETER = Non utilisé
[out] pbDerivedKey
Adresse d’une mémoire tampon qui reçoit la clé. Le paramètre cbDerivedKey contient la taille de cette mémoire tampon.
[in] cbDerivedKey
Taille, en octets, de la mémoire tampon pointée vers le paramètre pbDerivedKey .
[out] pcbResult
Pointeur vers une variable qui reçoit le nombre d’octets qui ont été copiés dans la mémoire tampon pointée par le paramètre pbDerivedKey .
[in] dwFlags
Indicateurs qui modifient le comportement de cette fonction. La valeur suivante peut être utilisée avec le fournisseur Microsoft Primitive.
Valeur | Signification |
---|---|
|
Spécifie que l’algorithme cible est AES et que la clé doit donc être doublement développée. Cet indicateur n’est valide qu’avec l’algorithme CAPI_KDF. |
Valeur retournée
Retourne un code status qui indique la réussite ou l’échec de la fonction.
Remarques
Vous pouvez utiliser les identificateurs d’algorithme suivants dans la fonction BCryptOpenAlgorithmProvider avant d’appeler BCryptKeyDerivation :
- BCRYPT_CAPI_KDF_ALGORITHM
- BCRYPT_SP800108_CTR_HMAC_ALGORITHM
- BCRYPT_SP80056A_CONCAT_ALGORITHM
- BCRYPT_PBKDF2_ALGORITHM
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 8 [applications de bureau | Applications UWP] |
Serveur minimal pris en charge | Windows Server 2012 [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