ECDiffieHellmanCng.DeriveKeyFromHmac Метод

Определение

Выполняет формирование ключа с использованием указанного алгоритма HMAC с дополнительными данными, добавленными в начале или конце.

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

Параметры

otherPartyPublicKey
ECDiffieHellmanPublicKey

Открытый ключ другой стороны.

hashAlgorithm
HashAlgorithmName

Хэш-алгоритм, используемый для получения материала ключа.

hmacKey
Byte[]

Ключ HMAC.

secretPrepend
Byte[]

Значение, добавляемое к производному секрету (в начало) перед хэшированием.

secretAppend
Byte[]

Значение, добавляемое к производному секрету перед хэшированием.

Возвращаемое значение

Byte[]

Код HMAC общего секрета после добавления данных по запросу в начале или конце.

Исключения

Размер кривой, используемой параметром otherPartyPublicKey, отличается от размера кривой из этого ключа.

-или-

В параметре hashAlgorithm не указан хэш.

otherPartyPublicKey имеет значение null.

Кривая, используемая параметром otherPartyPublicKey, отличается от кривой из этого ключа.

-или-

Этот экземпляр представляет только открытый ключ.

Применяется к