Udostępnij za pośrednictwem


ECDiffieHellman.DeriveKeyFromHmac Metoda

Definicja

Wykonuje wyprowadzanie klucza przy użyciu określonego algorytmu HMAC (opartego na skrótach kodu uwierzytelniania komunikatów).

Przeciążenia

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

W przypadku implementacji w klasie pochodnej wykonuje wyprowadzanie klucza przy użyciu określonego algorytmu HMAC (kod uwierzytelniania komunikatów opartych na skrótach) z opcjonalnymi prepended lub dołączonymi danymi.

DeriveKeyFromHmac(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[])

Wykonuje wyprowadzanie klucza przy użyciu określonego algorytmu HMAC (opartego na skrótach kodu uwierzytelniania komunikatów).

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

Źródło:
ECDiffieHellman.cs
Źródło:
ECDiffieHellman.cs
Źródło:
ECDiffieHellman.cs

W przypadku implementacji w klasie pochodnej wykonuje wyprowadzanie klucza przy użyciu określonego algorytmu HMAC (kod uwierzytelniania komunikatów opartych na skrótach) z opcjonalnymi prepended lub dołączonymi danymi.

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

Klucz publiczny innej strony.

hashAlgorithm
HashAlgorithmName

Algorytm skrótu używany do uzyskiwania kluczowego materiału.

hmacKey
Byte[]

Klucz dla HMAC.

secretPrepend
Byte[]

Wartość, która zostanie wstępnie utworzona do pochodnego wpisu tajnego przed utworzeniem skrótu.

secretAppend
Byte[]

Wartość, która ma zostać dołączona do pochodnego wpisu tajnego przed utworzeniem skrótu.

Zwraca

Byte[]

Klucz HMAC udostępnionego wpisu tajnego po wstępnego dołączania lub dołączania danych zgodnie z żądaniem.

Wyjątki

Klasa pochodna musi zastąpić tę metodę.

Krzywa używana przez element otherPartyPublicKey ma inny rozmiar niż krzywa z tego klucza.

-lub-

Parametr hashAlgorithm nie określa skrótu.

otherPartyPublicKey to null.

Krzywa używana przez otherPartyPublicKey element różni się od krzywej z tego klucza.

-lub-

To wystąpienie reprezentuje tylko klucz publiczny.

Uwagi

Ta metoda wewnętrznie wykonuje umowę klucza krzywej eliptycznej Diffie-Hellman w celu utworzenia udostępnionego wpisu tajnego (z).

Gdy hmacKey jest nullto , wartość zwracana z tej metody jest wynikiem HMAC-HASH(z, secretPrepend || z || secretAppend) użycia określonego algorytmu HMAC, gdzie || oznacza łączenie. W przeciwnym razie wartość zwracana z tej metody jest wynikiem HMAC-HASH(hmacKey, secretPrepend || z || secretAppend).

Jeśli wartość secretPrepend lub secretAppend jest null, są traktowane jako puste tablice.

Dotyczy

DeriveKeyFromHmac(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[])

Źródło:
ECDiffieHellman.cs
Źródło:
ECDiffieHellman.cs
Źródło:
ECDiffieHellman.cs

Wykonuje wyprowadzanie klucza przy użyciu określonego algorytmu HMAC (opartego na skrótach kodu uwierzytelniania komunikatów).

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

Klucz publiczny innej strony.

hashAlgorithm
HashAlgorithmName

Algorytm skrótu używany do uzyskiwania kluczowego materiału.

hmacKey
Byte[]

Klucz dla HMAC.

Zwraca

Byte[]

HMAC udostępnionego wpisu tajnego.

Wyjątki

Krzywa używana przez element otherPartyPublicKey ma inny rozmiar niż krzywa z tego klucza.

-lub-

Parametr hashAlgorithm nie określa skrótu.

otherPartyPublicKey to null.

Krzywa używana przez otherPartyPublicKey element różni się od krzywej z tego klucza.

-lub-

To wystąpienie reprezentuje tylko klucz publiczny.

Uwagi

To przeciążenie wywołuje metodę DeriveKeyFromHmac przekazującą null jako wstępnie utworzone i dołączane wartości.

Dotyczy