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 по сравнению с кривой из этого ключа.

–или–

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

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