ECDiffieHellman.DeriveKeyFromHmac Método

Definição

Realiza a derivação de chaves usando um algoritmo HMAC (Código de Autenticação de Mensagens Baseado em Hash) especificado.

Sobrecargas

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

Realiza a derivação de chaves usando um algoritmo HMAC (Código de Autenticação de Mensagens Baseado em Hash) especificado.

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

Quando implementado numa classe derivada, realiza a derivação de chaves usando um algoritmo HMAC (Hash-based Message Authentication Code) especificado com dados opcionais prependidos ou acrescentados.

DeriveKeyFromHmac(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[])

Realiza a derivação de chaves usando um algoritmo HMAC (Código de Autenticação de Mensagens Baseado em 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

A chave pública da outra parte.

hashAlgorithm
HashAlgorithmName

O algoritmo de hash a usar para derivar o material-chave.

hmacKey
Byte[]

A chave para o HMAC.

Devoluções

Byte[]

O HMAC do segredo partilhado.

Exceções

A curva usada por otherPartyPublicKey tem um tamanho diferente da curva desta chave.

-ou-

O hashAlgorithm parâmetro não especifica um hash.

otherPartyPublicKey é null.

A curva usada por otherPartyPublicKey é diferente da curva desta chave.

-ou-

Esta instância representa apenas uma chave pública.

Observações

Esta sobrecarga chama o DeriveKeyFromHmac método que passa null como os valores de prependência e anexação.

Aplica-se a

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

Quando implementado numa classe derivada, realiza a derivação de chaves usando um algoritmo HMAC (Hash-based Message Authentication Code) especificado com dados opcionais prependidos ou acrescentados.

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

A chave pública da outra parte.

hashAlgorithm
HashAlgorithmName

O algoritmo de hash a usar para derivar o material-chave.

hmacKey
Byte[]

A chave para o HMAC.

secretPrepend
Byte[]

Um valor para antepender ao segredo derivado antes de fazer o hash.

secretAppend
Byte[]

Um valor a adicionar ao segredo derivado antes do hash.

Devoluções

Byte[]

O HMAC do segredo partilhado após preencher ou anexar dados conforme solicitado.

Exceções

Uma classe derivada deve sobrepor-se a este método.

A curva usada por otherPartyPublicKey tem um tamanho diferente da curva desta chave.

-ou-

O hashAlgorithm parâmetro não especifica um hash.

otherPartyPublicKey é null.

A curva usada por otherPartyPublicKey é diferente da curva desta chave.

-ou-

Esta instância representa apenas uma chave pública.

Observações

Este método executa internamente a Curva Elíptica Diffie-Hellman concordância de chaves para produzir o segredo partilhado (z).

Quando hmacKey é null, o valor de retorno deste método é o resultado da HMAC-HASH(z, secretPrepend || z || secretAppend) utilização do algoritmo HMAC especificado, onde || significa concatenação. Caso contrário, o valor de retorno deste método é o resultado de HMAC-HASH(hmacKey, secretPrepend || z || secretAppend).

Se o valor de secretPrepend ou secretAppend for null, são tratados como arrays vazios.

Aplica-se a