Поделиться через


ECDiffieHellmanCng.DeriveKeyMaterial Метод

Определение

Формирует ключевой материал из секретного соглашения, заключенного между двумя сторонами.

Перегрузки

DeriveKeyMaterial(CngKey)

Формирует ключевой материал из секретного соглашения, заключенного между двумя сторонами, используя заданный объект CngKey, в котором содержится открытый ключ второй стороны.

DeriveKeyMaterial(ECDiffieHellmanPublicKey)

Формирует ключевой материал из секретного соглашения, заключенного между двумя сторонами, используя заданный объект ECDiffieHellmanPublicKey, в котором содержится открытый ключ второй стороны.

Комментарии

Алгоритм Diffie-Hellman на эллиптических кривых (ECDH) принимает закрытый ключ и открытый ключ другой стороны в качестве входных данных и создает секретное соглашение в качестве выходных данных. Затем функция наследования ключа (KDF) принимает секретное соглашение и создает материал ключа в качестве выходных данных.

DeriveKeyMaterial(CngKey)

Исходный код:
Cng.NotSupported.cs
Исходный код:
Cng.NotSupported.cs
Исходный код:
Cng.NotSupported.cs

Формирует ключевой материал из секретного соглашения, заключенного между двумя сторонами, используя заданный объект CngKey, в котором содержится открытый ключ второй стороны.

public:
 cli::array <System::Byte> ^ DeriveKeyMaterial(System::Security::Cryptography::CngKey ^ otherPartyPublicKey);
public byte[] DeriveKeyMaterial (System.Security.Cryptography.CngKey otherPartyPublicKey);
[System.Security.SecurityCritical]
public byte[] DeriveKeyMaterial (System.Security.Cryptography.CngKey otherPartyPublicKey);
override this.DeriveKeyMaterial : System.Security.Cryptography.CngKey -> byte[]
[<System.Security.SecurityCritical>]
override this.DeriveKeyMaterial : System.Security.Cryptography.CngKey -> byte[]
Public Function DeriveKeyMaterial (otherPartyPublicKey As CngKey) As Byte()

Параметры

otherPartyPublicKey
CngKey

Получает объект, в котором содержится открытая часть ключа алгоритма Диффи-Хеллмана на эллиптических кривых (Elliptic Curve Diffie-Hellman, ECDH), переданная другой стороной в процессе обмена ключами.

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

Byte[]

Массив байтов, в котором содержится ключевой материал. Эта информация формируется из секретного соглашения, вычисляемого на основе закрытого ключа текущего объекта и указанного открытого ключа.

Атрибуты

Исключения

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

otherPartyPublicKey недопустим. Значение его свойства AlgorithmGroup отлично от ECDiffieHellman или его размер ключа не соответствует размеру ключа данного экземпляра.

Свойство KeyDerivationFunction данного объекта задает функцию формирования ключа Tls, но значение Label или Seed равно null.

Все остальные ошибки.

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

DeriveKeyMaterial(ECDiffieHellmanPublicKey)

Формирует ключевой материал из секретного соглашения, заключенного между двумя сторонами, используя заданный объект ECDiffieHellmanPublicKey, в котором содержится открытый ключ второй стороны.

public:
 override cli::array <System::Byte> ^ DeriveKeyMaterial(System::Security::Cryptography::ECDiffieHellmanPublicKey ^ otherPartyPublicKey);
public override byte[] DeriveKeyMaterial (System.Security.Cryptography.ECDiffieHellmanPublicKey otherPartyPublicKey);
override this.DeriveKeyMaterial : System.Security.Cryptography.ECDiffieHellmanPublicKey -> byte[]
Public Overrides Function DeriveKeyMaterial (otherPartyPublicKey As ECDiffieHellmanPublicKey) As Byte()

Параметры

otherPartyPublicKey
ECDiffieHellmanPublicKey

Открытый ключ другой стороны, участвующей в обмене ключами.

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

Byte[]

Массив байтов, в котором содержится ключевой материал. Эта информация формируется из секретного соглашения, вычисляемого на основе закрытого ключа текущего объекта и указанного открытого ключа.

Исключения

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

Значение параметра otherPartyPublicKey не является ключом ECDiffieHellmanCngPublicKey.

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