ECDiffieHellman.DeriveKeyFromHmac Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
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 null
to , 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
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.