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


ECDiffieHellman.DeriveKeyTls(ECDiffieHellmanPublicKey, Byte[], Byte[]) Метод

Определение

При реализации в производном классе выполняет формирование ключа с использованием псевдослучайной функции (PRF) протокола TLS 1.1.

public:
 virtual cli::array <System::Byte> ^ DeriveKeyTls(System::Security::Cryptography::ECDiffieHellmanPublicKey ^ otherPartyPublicKey, cli::array <System::Byte> ^ prfLabel, cli::array <System::Byte> ^ prfSeed);
public virtual byte[] DeriveKeyTls (System.Security.Cryptography.ECDiffieHellmanPublicKey otherPartyPublicKey, byte[] prfLabel, byte[] prfSeed);
abstract member DeriveKeyTls : System.Security.Cryptography.ECDiffieHellmanPublicKey * byte[] * byte[] -> byte[]
override this.DeriveKeyTls : System.Security.Cryptography.ECDiffieHellmanPublicKey * byte[] * byte[] -> byte[]
Public Overridable Function DeriveKeyTls (otherPartyPublicKey As ECDiffieHellmanPublicKey, prfLabel As Byte(), prfSeed As Byte()) As Byte()

Параметры

otherPartyPublicKey
ECDiffieHellmanPublicKey

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

prfLabel
Byte[]

Метка PRF с использованием кодировки ASCII.

prfSeed
Byte[]

Начальное значение PRF (64-байтовое).

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

Byte[]

Первые 48 байт, полученные из функции PRF TLS 1.1 с использованием общего секрета в качестве ключа.

Исключения

Производный класс должен переопределять этот метод.

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

Параметр otherPartyPublicKey, prfLabel или prfSeed имеет значение null.

prfSeed — длина не соответствует 64 байтам.

-или-

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

-или-

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

Комментарии

Этот метод внутренне выполняет соглашение ключа Diffie-Hellman эллиптической кривой для создания общего секрета (z).

Возвращаемое значение этого метода представляет собой 48-байтовый выход TLS 1.1 PRF (псевдослучайная функция), PRF(z, prfLabel, prfSeed).

Дополнительные сведения см. в разделе IETF RFC 4346, раздел 5.

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