ECDiffieHellman.DeriveKeyFromHmac Método

Definición

Realiza la derivación de claves mediante un algoritmo HMAC (código de autenticación de mensajes basado en hash) especificado.

Sobrecargas

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

Realiza la derivación de claves mediante un algoritmo HMAC (código de autenticación de mensajes basado en hash) especificado.

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

Cuando se implementa en una clase derivada, realiza la derivación de claves mediante un algoritmo HMAC (código de autenticación de mensajes basado en hash) especificado con datos antepuestos o anexados opcionales.

DeriveKeyFromHmac(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[])

Realiza la derivación de claves mediante un algoritmo HMAC (código de autenticación de mensajes basado en hash) especificado.

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

Parámetros

otherPartyPublicKey
ECDiffieHellmanPublicKey

La clave pública de la otra parte.

hashAlgorithm
HashAlgorithmName

Algoritmo hash que se va a usar para derivar el material de clave.

hmacKey
Byte[]

Clave del HMAC.

Devoluciones

Byte[]

HMAC del secreto compartido.

Excepciones

La curva usada por otherPartyPublicKey tiene un tamaño diferente al de la curva de esta clave.

O bien

El hashAlgorithm parámetro no especifica un hash.

otherPartyPublicKey es null.

La curva utilizada por otherPartyPublicKey es diferente de la curva de esta clave.

O bien

Esta instancia representa solo una clave pública.

Comentarios

Esta sobrecarga llama al DeriveKeyFromHmac método que pasa null como anteponer y anexar valores.

Se aplica a

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

Cuando se implementa en una clase derivada, realiza la derivación de claves mediante un algoritmo HMAC (código de autenticación de mensajes basado en hash) especificado con datos antepuestos o anexados opcionales.

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

Parámetros

otherPartyPublicKey
ECDiffieHellmanPublicKey

La clave pública de la otra parte.

hashAlgorithm
HashAlgorithmName

Algoritmo hash que se va a usar para derivar el material de clave.

hmacKey
Byte[]

Clave del HMAC.

secretPrepend
Byte[]

Valor que se va a anteponer al secreto derivado antes del hash.

secretAppend
Byte[]

Valor que se va a anexar al secreto derivado antes del hash.

Devoluciones

Byte[]

HMAC del secreto compartido después de tener datos pendientes o anexados según se solicite.

Excepciones

Una clase derivada debe invalidar este método.

La curva usada por otherPartyPublicKey tiene un tamaño diferente al de la curva de esta clave.

O bien

El hashAlgorithm parámetro no especifica un hash.

otherPartyPublicKey es null.

La curva utilizada por otherPartyPublicKey es diferente de la curva de esta clave.

O bien

Esta instancia representa solo una clave pública.

Comentarios

Este método realiza internamente la curva elíptica Diffie-Hellman acuerdo de clave para generar el secreto compartido (z).

Cuando hmacKey es null, el valor devuelto de este método es el resultado del HMAC-HASH(z, secretPrepend || z || secretAppend) uso del algoritmo HMAC especificado, donde || significa la concatenación. De lo contrario, el valor devuelto de este método es el resultado de HMAC-HASH(hmacKey, secretPrepend || z || secretAppend).

Si el valor de secretPrepend o secretAppend es null, se tratan como matrices vacías.

Se aplica a