ECDiffieHellmanCng.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 (Código de Autenticação de Mensagem baseado em Hash) especificado com dados pré-anexados ou acrescentados opcionais.
public:
override 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 override byte[] DeriveKeyFromHmac(System.Security.Cryptography.ECDiffieHellmanPublicKey otherPartyPublicKey, System.Security.Cryptography.HashAlgorithmName hashAlgorithm, byte[] hmacKey, byte[] secretPrepend, byte[] secretAppend);
override this.DeriveKeyFromHmac : System.Security.Cryptography.ECDiffieHellmanPublicKey * System.Security.Cryptography.HashAlgorithmName * byte[] * byte[] * byte[] -> byte[]
Public Overrides 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 ser usado para derivar o material da chave.
- hmacKey
- Byte[]
A chave para o HMAC.
- secretPrepend
- Byte[]
Um valor a ser anexado 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 depois de anexar ou acrescentar dados conforme solicitado.
Exceções
A curva usada tem otherPartyPublicKey um tamanho diferente da curva dessa chave.
-ou-
O hashAlgorithm parâmetro não especifica um hash.
otherPartyPublicKey é null.
A curva usada é otherPartyPublicKey diferente da curva dessa chave.
-ou-
Essa instância representa apenas uma chave pública.