ECDiffieHellman.DeriveKeyTls(ECDiffieHellmanPublicKey, Byte[], Byte[]) Metoda

Definicja

W przypadku implementacji w klasie pochodnej funkcja wykonuje wyprowadzanie kluczy przy użyciu protokołu TLS (Transport Layer Security) 1.1 PRF (Pseudo-Random Function).

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

Parametry

otherPartyPublicKey
ECDiffieHellmanPublicKey

Klucz publiczny drugiej strony.

prfLabel
Byte[]

Etykieta PRF zakodowana w formacie ASCII.

prfSeed
Byte[]

64-bajtowy nasion PRF.

Zwraca

Byte[]

Pierwsze 48 bajtów z protokołu TLS 1.1 PRF przy użyciu udostępnionego wpisu tajnego jako klucza.

Wyjątki

Klasa pochodna musi zastąpić tę metodę.

Krzywa używana przez element otherPartyPublicKey ma inny rozmiar niż krzywa z tego klucza.

otherPartyPublicKey, prfLabel lub prfSeed ma wartość null.

prfSeed nie ma dokładnie 64 bajtów długości.

— lub —

Krzywa używana przez otherPartyPublicKey element różni się od krzywej od tego klucza.

— lub —

To wystąpienie reprezentuje tylko klucz publiczny.

Uwagi

Ta metoda wewnętrznie wykonuje krzywą Elliptic Diffie-Hellman kluczową umowę w celu utworzenia wspólnego wpisu tajnego (z).

Zwracana wartość tej metody to 48 bajtów wyjściowych protokołu TLS 1.1 PRF (funkcjaPseudo-Random), PRF(z, prfLabel, prfSeed).

Aby uzyskać więcej informacji, zobacz IETF RFC 4346, sekcja 5.

Dotyczy