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

Definice

Při implementaci v odvozené třídě provádí odvození klíče pomocí protokolu TLS (Transport Layer Security) 1.1 PRF (Pseudo-Random Funkce).

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

Veřejný klíč druhé strany.

prfLabel
Byte[]

Popisek PRF kódovaný ASCII.

prfSeed
Byte[]

Počáteční 64bajtů PRF.

Návraty

Byte[]

Prvních 48 bajtů z protokolu TLS 1.1 PRF s použitím sdíleného tajného klíče jako klíče.

Výjimky

Odvozená třída musí tuto metodu přepsat.

Křivka použitá otherPartyPublicKey tímto klíčem má jinou velikost než křivka.

otherPartyPublicKeynebo prfLabelprfSeed je null.

prfSeed není přesně 64 bajtů v délce.

nebo

Křivka použitá otherPartyPublicKey tímto klíčem se liší od křivky.

nebo

Tato instance představuje pouze veřejný klíč.

Poznámky

Tato metoda interně provádí smlouvu s klíčem Elliptic Curve Diffie-Hellman k vytvoření sdíleného tajného klíče (z).

Návratová hodnota této metody je výstupem 48 bajtů protokolu TLS 1.1 PRF (Pseudo-Random Function), PRF(z, prfLabel, prfSeed).

Další informace naleznete v tématu IETF RFC 4346, oddíl 5.

Platí pro