ECDiffieHellmanOpenSsl.DeriveKeyFromHmac Metoda

Definice

Provede odvození klíče pomocí zadaného algoritmu HMAC (kód ověřování zpráv založený na hodnotě hash) s volitelnými předpendovanými nebo připojenými daty.

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);
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()

Parametry

otherPartyPublicKey
ECDiffieHellmanPublicKey

Veřejný klíč druhé strany.

hashAlgorithm
HashAlgorithmName

Algoritmus hash, který se má použít k odvození klíčového materiálu.

hmacKey
Byte[]

Klíč pro HMAC.

secretPrepend
Byte[]

Hodnota, která se má předvést na odvozený tajný kód před hashováním.

secretAppend
Byte[]

Hodnota pro připojení k odvozeného tajnému kódu před hashováním.

Návraty

Byte[]

HMAC sdíleného tajného kódu po předběžném nebo připojení dat podle požadavku.

Výjimky

Křivka používaná tímto otherPartyPublicKey klíčem má jinou velikost než křivka.

-nebo-

Parametr hashAlgorithm nezadává hodnotu hash.

otherPartyPublicKey je null.

Křivka používaná tímto otherPartyPublicKey klíčem se liší od křivky.

-nebo-

Tato instance představuje pouze veřejný klíč.

Platí pro