ECDiffieHellman.DeriveKeyFromHmac Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Executa a derivação de chave usando um algoritmo HMAC (Message Authentication Code baseado em hash) especificado.
Sobrecargas
DeriveKeyFromHmac(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[], Byte[], Byte[]) |
Quando implementado em uma classe derivada, executa a derivação de chave usando um algoritmo HMAC (Message Authentication Code baseado em hash) especificado com os dados opcionais acrescentados ou anexados. |
DeriveKeyFromHmac(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[]) |
Executa a derivação de chave usando um algoritmo HMAC (Message Authentication Code baseado em hash) especificado. |
DeriveKeyFromHmac(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[], Byte[], Byte[])
- Origem:
- ECDiffieHellman.cs
- Origem:
- ECDiffieHellman.cs
- Origem:
- ECDiffieHellman.cs
Quando implementado em uma classe derivada, executa a derivação de chave usando um algoritmo HMAC (Message Authentication Code baseado em hash) especificado com os dados opcionais acrescentados ou anexados.
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
A chave pública do outro participante.
- hashAlgorithm
- HashAlgorithmName
O algoritmo de hash a ser usado para derivar o material de chave.
- hmacKey
- Byte[]
A chave para o HMAC.
- secretPrepend
- Byte[]
Um valor a ser precedido ao segredo derivado antes do hash.
- secretAppend
- Byte[]
Um valor a ser acrescentado ao segredo derivado antes do hash.
Retornos
O HMAC do segredo compartilhado após a anexação ou o acréscimo de dados, conforme solicitado.
Exceções
Uma classe derivada deve substituir esse método.
A curva usada por otherPartyPublicKey
tem um tamanho diferente da curva dessa chave.
- ou -
O parâmetro hashAlgorithm
não especifica um hash.
otherPartyPublicKey
é null
.
A curva usada por otherPartyPublicKey
é diferente da curva dessa chave.
- ou -
Essa instância representa apenas uma chave pública.
Comentários
Esse método executa internamente a curva elíptica Diffie-Hellman contrato de chave para produzir o segredo compartilhado (z
).
Quando hmacKey
é null
, o valor retornado desse método é o resultado do uso do HMAC-HASH(z, secretPrepend || z || secretAppend)
algoritmo HMAC especificado, em ||
que significa concatenação. Caso contrário, o valor retornado desse método é o resultado de HMAC-HASH(hmacKey, secretPrepend || z || secretAppend)
.
Se o valor de secretPrepend
ou secretAppend
for null
, eles serão tratados como matrizes vazias.
Aplica-se a
DeriveKeyFromHmac(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[])
- Origem:
- ECDiffieHellman.cs
- Origem:
- ECDiffieHellman.cs
- Origem:
- ECDiffieHellman.cs
Executa a derivação de chave usando um algoritmo HMAC (Message Authentication Code 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);
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 do outro participante.
- hashAlgorithm
- HashAlgorithmName
O algoritmo de hash a ser usado para derivar o material de chave.
- hmacKey
- Byte[]
A chave para o HMAC.
Retornos
O HMAC do segredo compartilhado.
Exceções
A curva usada por otherPartyPublicKey
tem um tamanho diferente da curva dessa chave.
- ou -
O parâmetro hashAlgorithm
não especifica um hash.
otherPartyPublicKey
é null
.
A curva usada por otherPartyPublicKey
é diferente da curva dessa chave.
- ou -
Essa instância representa apenas uma chave pública.
Comentários
Essa sobrecarga chama o DeriveKeyFromHmac método que passa null
como os valores de prefixo e acréscimo.