ECDiffieHellman.DeriveKeyFromHmac Méthode

Définition

Effectue une dérivation de clés à l’aide d’un algorithme HMAC (Hash-based Message Authentication Code) spécifié.

Surcharges

DeriveKeyFromHmac(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[], Byte[], Byte[])

En cas d’implémentation dans une classe dérivée, effectue une dérivation de clés à l’aide d’un algorithme HMAC (Hash-based Message Authentication Code) spécifié avec des données facultatives ajoutées au début ou à la fin.

DeriveKeyFromHmac(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[])

Effectue une dérivation de clés à l’aide d’un algorithme HMAC (Hash-based Message Authentication Code) spécifié.

DeriveKeyFromHmac(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[], Byte[], Byte[])

Source:
ECDiffieHellman.cs
Source:
ECDiffieHellman.cs
Source:
ECDiffieHellman.cs

En cas d’implémentation dans une classe dérivée, effectue une dérivation de clés à l’aide d’un algorithme HMAC (Hash-based Message Authentication Code) spécifié avec des données facultatives ajoutées au début ou à la fin.

C#
public virtual byte[] DeriveKeyFromHmac (System.Security.Cryptography.ECDiffieHellmanPublicKey otherPartyPublicKey, System.Security.Cryptography.HashAlgorithmName hashAlgorithm, byte[]? hmacKey, byte[]? secretPrepend, byte[]? secretAppend);
C#
public virtual byte[] DeriveKeyFromHmac (System.Security.Cryptography.ECDiffieHellmanPublicKey otherPartyPublicKey, System.Security.Cryptography.HashAlgorithmName hashAlgorithm, byte[] hmacKey, byte[] secretPrepend, byte[] secretAppend);

Paramètres

otherPartyPublicKey
ECDiffieHellmanPublicKey

La clé publique de l’autre partie.

hashAlgorithm
HashAlgorithmName

L’algorithme de hachage à utiliser pour dériver la clé.

hmacKey
Byte[]

La clé du HMAC.

secretPrepend
Byte[]

Valeur à ajouter avant la clé secrète dérivée avant le hachage.

secretAppend
Byte[]

Valeur à ajouter après la clé secrète dérivée avant le hachage.

Retours

Byte[]

HMAC du secret partagé après l’ajout au début ou à la fin de données comme demandé.

Exceptions

Une classe dérivée doit remplacer cette méthode.

La courbe utilisée par otherPartyPublicKey a une taille différente de celle de cette clé.

- ou -

Le paramètre hashAlgorithm ne spécifie pas de hachage.

otherPartyPublicKey a la valeur null.

La courbe utilisée par otherPartyPublicKey est différente de celle de cette clé.

- ou -

Cette instance représente uniquement une clé publique.

Remarques

Cette méthode exécute en interne la courbe elliptique Diffie-Hellman accord clé pour produire le secret partagé (z).

Quand hmacKey a la nullvaleur , la valeur de retour de cette méthode est le résultat de l’utilisation de HMAC-HASH(z, secretPrepend || z || secretAppend) l’algorithme HMAC spécifié, où || signifie concaténation. Sinon, la valeur de retour de cette méthode est le résultat de HMAC-HASH(hmacKey, secretPrepend || z || secretAppend).

Si la valeur de secretPrepend ou secretAppend est null, ils sont traités comme des tableaux vides.

S’applique à

.NET 9 et autres versions
Produit Versions
.NET Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.1

DeriveKeyFromHmac(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[])

Source:
ECDiffieHellman.cs
Source:
ECDiffieHellman.cs
Source:
ECDiffieHellman.cs

Effectue une dérivation de clés à l’aide d’un algorithme HMAC (Hash-based Message Authentication Code) spécifié.

C#
public byte[] DeriveKeyFromHmac (System.Security.Cryptography.ECDiffieHellmanPublicKey otherPartyPublicKey, System.Security.Cryptography.HashAlgorithmName hashAlgorithm, byte[]? hmacKey);
C#
public byte[] DeriveKeyFromHmac (System.Security.Cryptography.ECDiffieHellmanPublicKey otherPartyPublicKey, System.Security.Cryptography.HashAlgorithmName hashAlgorithm, byte[] hmacKey);

Paramètres

otherPartyPublicKey
ECDiffieHellmanPublicKey

La clé publique de l’autre partie.

hashAlgorithm
HashAlgorithmName

L’algorithme de hachage à utiliser pour dériver la clé.

hmacKey
Byte[]

La clé du HMAC.

Retours

Byte[]

HMAC du secret partagé.

Exceptions

La courbe utilisée par otherPartyPublicKey a une taille différente de celle de cette clé.

- ou -

Le paramètre hashAlgorithm ne spécifie pas de hachage.

otherPartyPublicKey a la valeur null.

La courbe utilisée par otherPartyPublicKey est différente de celle de cette clé.

- ou -

Cette instance représente uniquement une clé publique.

Remarques

Cette surcharge appelle la DeriveKeyFromHmac méthode en passant null en tant que valeurs ajoutées et ajoutées.

S’applique à

.NET 9 et autres versions
Produit Versions
.NET Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.1