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 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
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 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 de HMAC-HASH(z, secretPrepend || z || secretAppend)
usar el 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
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 valores antepuestos y anexados.