Sdílet prostřednictvím


ECDiffieHellman.DeriveKeyFromHmac Metoda

Definice

Provádí odvozování klíčů pomocí zadaného algoritmu HMAC (Hash-based Message Authentication Code) algoritmus.

Přetížení

DeriveKeyFromHmac(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[], Byte[], Byte[])

Při implementaci v odvozené třídě provádí odvození klíčů pomocí zadaného algoritmu HMAC (Hash-based Message Authentication Code) s volitelnými předřazením nebo připojenými daty.

DeriveKeyFromHmac(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[])

Provádí odvozování klíčů pomocí zadaného algoritmu HMAC (Hash-based Message Authentication Code) algoritmus.

DeriveKeyFromHmac(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[], Byte[], Byte[])

Zdroj:
ECDiffieHellman.cs
Zdroj:
ECDiffieHellman.cs
Zdroj:
ECDiffieHellman.cs

Při implementaci v odvozené třídě provádí odvození klíčů pomocí zadaného algoritmu HMAC (Hash-based Message Authentication Code) s volitelnými předřazením nebo připojenými daty.

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

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ředpendovat k odvozeným tajným kódům před hashováním.

secretAppend
Byte[]

Hodnota pro připojení k odvozeným tajným kódům před hashováním.

Návraty

Byte[]

HMAC sdíleného tajného kódu po předpřidání nebo připojení dat podle požadavku.

Výjimky

Odvozená třída musí tuto metodu přepsat.

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

-nebo-

Parametr hashAlgorithm neurčoval hodnotu hash.

otherPartyPublicKey je null.

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

-nebo-

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

Poznámky

Tato metoda interně provádí smlouvu o klíči Elliptic Curve Diffie-Hellman k vytvoření sdíleného tajného klíče (z).

Pokud hmacKey je nullhodnota , návratová hodnota z této metody je výsledkem použití zadaného HMAC-HASH(z, secretPrepend || z || secretAppend) algoritmu HMAC, kde označuje zřetězení || . V opačném případě je vrácená hodnota z této metody výsledkem HMAC-HASH(hmacKey, secretPrepend || z || secretAppend).

Pokud je nullhodnota secretPrepend nebo secretAppend , jsou považovány za prázdná pole.

Platí pro

DeriveKeyFromHmac(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[])

Zdroj:
ECDiffieHellman.cs
Zdroj:
ECDiffieHellman.cs
Zdroj:
ECDiffieHellman.cs

Provádí odvozování klíčů pomocí zadaného algoritmu HMAC (Hash-based Message Authentication Code) algoritmus.

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

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.

Návraty

Byte[]

HMAC sdíleného tajného klíče.

Výjimky

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

-nebo-

Parametr hashAlgorithm neurčoval hodnotu hash.

otherPartyPublicKey je null.

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

-nebo-

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

Poznámky

Toto přetížení volá metodu DeriveKeyFromHmac předávání null jako předpřidávací a přidávací hodnoty.

Platí pro