ECDiffieHellman.DeriveKeyFromHmac Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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
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
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.