Sdílet prostřednictvím


ECDiffieHellmanCng.DeriveKeyFromHmac Metoda

Definice

Provádí odvozování klíčů pomocí zadaného algoritmu HMAC (Hash-based Message Authentication Code) s volitelnými předem 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

Hashovací algoritmus, který se má použít k odvození materiálu klíče.

hmacKey
Byte[]

Klíč pro HMAC.

secretPrepend
Byte[]

Hodnota, která se má předsunout k odvozeným tajným kódům před hashováním.

secretAppend
Byte[]

Hodnota, která se má před hashováním připojit k odvozeným tajným kódům.

Návraty

Byte[]

HMAC sdíleného tajného klíče po předpřijetí nebo připojení dat podle požadavků.

Výjimky

Křivka používaná uživatelem otherPartyPublicKey má jinou velikost než křivka z tohoto klíče.

-nebo-

Parametr hashAlgorithm nezadá hodnotu hash.

otherPartyPublicKey je null.

Křivka použitá nástrojem otherPartyPublicKey se liší od křivky z tohoto klíče.

-nebo-

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

Platí pro