ECDiffieHellman.DeriveKeyFromHmac Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
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
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.