Partager via


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.

public:
 virtual cli::array <System::Byte> ^ DeriveKeyFromHmac(System::Security::Cryptography::ECDiffieHellmanPublicKey ^ otherPartyPublicKey, System::Security::Cryptography::HashAlgorithmName hashAlgorithm, cli::array <System::Byte> ^ hmacKey, cli::array <System::Byte> ^ secretPrepend, cli::array <System::Byte> ^ secretAppend);
public virtual byte[] DeriveKeyFromHmac (System.Security.Cryptography.ECDiffieHellmanPublicKey otherPartyPublicKey, System.Security.Cryptography.HashAlgorithmName hashAlgorithm, byte[]? hmacKey, byte[]? secretPrepend, byte[]? secretAppend);
public virtual byte[] DeriveKeyFromHmac (System.Security.Cryptography.ECDiffieHellmanPublicKey otherPartyPublicKey, System.Security.Cryptography.HashAlgorithmName hashAlgorithm, byte[] hmacKey, byte[] secretPrepend, byte[] secretAppend);
abstract member DeriveKeyFromHmac : System.Security.Cryptography.ECDiffieHellmanPublicKey * System.Security.Cryptography.HashAlgorithmName * byte[] * byte[] * byte[] -> byte[]
override this.DeriveKeyFromHmac : System.Security.Cryptography.ECDiffieHellmanPublicKey * System.Security.Cryptography.HashAlgorithmName * byte[] * byte[] * byte[] -> byte[]
Public Overridable Function DeriveKeyFromHmac (otherPartyPublicKey As ECDiffieHellmanPublicKey, hashAlgorithm As HashAlgorithmName, hmacKey As Byte(), secretPrepend As Byte(), secretAppend As Byte()) As Byte()

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 à

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é.

public:
 cli::array <System::Byte> ^ DeriveKeyFromHmac(System::Security::Cryptography::ECDiffieHellmanPublicKey ^ otherPartyPublicKey, System::Security::Cryptography::HashAlgorithmName hashAlgorithm, cli::array <System::Byte> ^ hmacKey);
public byte[] DeriveKeyFromHmac (System.Security.Cryptography.ECDiffieHellmanPublicKey otherPartyPublicKey, System.Security.Cryptography.HashAlgorithmName hashAlgorithm, byte[]? hmacKey);
public byte[] DeriveKeyFromHmac (System.Security.Cryptography.ECDiffieHellmanPublicKey otherPartyPublicKey, System.Security.Cryptography.HashAlgorithmName hashAlgorithm, byte[] hmacKey);
member this.DeriveKeyFromHmac : System.Security.Cryptography.ECDiffieHellmanPublicKey * System.Security.Cryptography.HashAlgorithmName * byte[] -> byte[]
Public Function DeriveKeyFromHmac (otherPartyPublicKey As ECDiffieHellmanPublicKey, hashAlgorithm As HashAlgorithmName, hmacKey As Byte()) As Byte()

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 à