ECDiffieHellman.DeriveKeyFromHmac Metoda

Definice

Provádí odvození klíče pomocí zadaného algoritmu HMAC (kód pro ověřování zpráv založený na hodnotě hash).

Přetížení

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

Při implementaci v odvozené třídě provede odvození klíče pomocí zadaného algoritmu HMAC (Hash-based Message Authentication Code) s volitelnými předpended nebo připojenými daty.

DeriveKeyFromHmac(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[])

Provádí odvození klíče pomocí zadaného algoritmu HMAC (kód pro ověřování zpráv založený na hodnotě hash).

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

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

Při implementaci v odvozené třídě provede odvození klíče pomocí zadaného algoritmu HMAC (Hash-based Message Authentication Code) s volitelnými předpended 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

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

hmacKey
Byte[]

Klíč pro HMAC.

secretPrepend
Byte[]

Před hodnotou odvozeného tajného kódu před hodnotou hash.

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řipravení nebo připojení dat podle požadavku.

Výjimky

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

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

nebo

Parametr hashAlgorithm nezadává hodnotu hash.

otherPartyPublicKey je null.

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

nebo

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

Poznámky

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

Pokud hmacKey je null, 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ě návratová hodnota z této metody je výsledkem HMAC-HASH(hmacKey, secretPrepend || z || secretAppend).

Pokud je hodnota secretPrepend nebo secretAppend je null, považují se za prázdná pole.

Platí pro

DeriveKeyFromHmac(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[])

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

Provádí odvození klíče pomocí zadaného algoritmu HMAC (kód pro ověřování zpráv založený na hodnotě hash).

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

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

hmacKey
Byte[]

Klíč pro HMAC.

Návraty

Byte[]

HMAC sdíleného tajného kódu.

Výjimky

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

nebo

Parametr hashAlgorithm nezadává hodnotu hash.

otherPartyPublicKey je null.

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

nebo

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

Poznámky

Toto přetížení volá metodu DeriveKeyFromHmac předanou null a připojující hodnoty.

Platí pro