Язык

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

Определение

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

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[]

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

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

Byte[]

Первые 48 байтов из ПРОТОКОЛА TLS 1.1 PRF, используя общий секрет в качестве ключа.

Исключения

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

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

otherPartyPublicKey, prfLabel или prfSeed есть null.

prfSeed длина не равна 64 байтам.

–или–

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

–или–

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

Комментарии

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

Возвращаемое значение этого метода — это 48 байтовых выходных данных ПРОТОКОЛА TLS 1.1 PRF (функцияPseudo-Random), PRF(z, prfLabel, prfSeed).

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

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