ECDiffieHellman.DeriveKeyFromHmac Método

Definición

Realiza la derivación de claves mediante un algoritmo HMAC (código de autentificación de mensajes en clave-hash).

Sobrecargas

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 autentificación de mensajes en clave-hash) con datos antepuestos o anexados opcionales.

DeriveKeyFromHmac(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[])

Realiza la derivación de claves mediante un algoritmo HMAC (código de autentificación de mensajes en clave-hash).

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

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

Cuando se implementa en una clase derivada, realiza la derivación de claves mediante un algoritmo HMAC (código de autentificación de mensajes en clave-hash) 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);
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

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 para HMAC.

secretPrepend
Byte[]

Valor para anteponer al secreto derivado antes de la operación hash.

secretAppend
Byte[]

Valor para anexar al secreto derivado antes de la operación hash.

Devoluciones

Byte[]

El HMAC del secreto compartido después de anteponer o anexar datos según se solicite.

Excepciones

Una clase derivada debe reemplazar este método.

La curva que usa otherPartyPublicKey tiene un tamaño diferente que la curva de esta clave.

o bien

El parámetro hashAlgorithm no especifica ningún valor hash.

otherPartyPublicKey es null.

La curva que usa 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 el acuerdo de clave de curva elíptica Diffie-Hellman 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

DeriveKeyFromHmac(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[])

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

Realiza la derivación de claves mediante un algoritmo HMAC (código de autentificación de mensajes en clave-hash).

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

Parámetros

otherPartyPublicKey
ECDiffieHellmanPublicKey

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 para HMAC.

Devoluciones

Byte[]

HMAC del secreto compartido.

Excepciones

La curva que usa otherPartyPublicKey tiene un tamaño diferente que la curva de esta clave.

o bien

El parámetro hashAlgorithm no especifica ningún valor hash.

otherPartyPublicKey es null.

La curva que usa 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