ECDiffieHellman.DeriveKeyFromHmac Méthode

Définition

Effectue une dérivation de clé à l’aide d’un algorithme HMAC (Code d’authentification de message basé sur le hachage) spécifié.

Surcharges

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

Effectue une dérivation de clé à l’aide d’un algorithme HMAC (Code d’authentification de message basé sur le hachage) spécifié.

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

En cas d’implémentation dans une classe dérivée, effectue une dérivation de clé à l’aide d’un algorithme HMAC (Code d’authentification de message basé sur hash) spécifié avec des données facultatives ajoutées ou ajoutées.

DeriveKeyFromHmac(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[])

Effectue une dérivation de clé à l’aide d’un algorithme HMAC (Code d’authentification de message basé sur le hachage) 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);
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

Clé publique de l’autre partie.

hashAlgorithm
HashAlgorithmName

Algorithme de hachage à utiliser pour dériver le matériau de clé.

hmacKey
Byte[]

Clé du HMAC.

Retours

Byte[]

HMAC du secret partagé.

Exceptions

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

-ou-

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

otherPartyPublicKey a la valeur null.

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

-ou-

Cette instance représente uniquement une clé publique.

Remarques

Cette surcharge appelle la DeriveKeyFromHmac méthode qui passe null en tant que valeurs ajoutées et prédéfinies.

S’applique à

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

En cas d’implémentation dans une classe dérivée, effectue une dérivation de clé à l’aide d’un algorithme HMAC (Code d’authentification de message basé sur hash) spécifié avec des données facultatives ajoutées ou ajoutées.

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);
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

Clé publique de l’autre partie.

hashAlgorithm
HashAlgorithmName

Algorithme de hachage à utiliser pour dériver le matériau de clé.

hmacKey
Byte[]

Clé du HMAC.

secretPrepend
Byte[]

Valeur à ajouter au secret dérivé avant le hachage.

secretAppend
Byte[]

Valeur à ajouter au secret dérivé avant le hachage.

Retours

Byte[]

HMAC du secret partagé après avoir prédéfinissant ou ajouté des 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 la courbe de cette clé.

-ou-

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

otherPartyPublicKey a la valeur null.

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

-ou-

Cette instance représente uniquement une clé publique.

Remarques

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

Quand hmacKey c’est nullle cas, 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 la 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 ou secretAppend l’est secretPrependnull, elles sont traitées comme des tableaux vides.

S’applique à