ECDiffieHellman.DeriveKeyTls(ECDiffieHellmanPublicKey, Byte[], Byte[]) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Při implementaci v odvozené třídě provádí odvozování klíčů pomocí protokolu 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
Veřejný klíč druhé strany.
- prfLabel
- Byte[]
Popisek PRF s kódováním ASCII.
- prfSeed
- Byte[]
Semeno PRF o 64 bajtech.
Návraty
Prvních 48 bajtů z protokolu TLS 1.1 PRF, které jako klíč používají sdílený tajný klíč.
Výjimky
Odvozená třída musí tuto metodu přepsat.
Křivka používaná uživatelem otherPartyPublicKey
má jinou velikost než křivka z tohoto klíče.
otherPartyPublicKey
nebo prfLabel
prfSeed
je null
.
prfSeed
není přesně 64 bajtů.
-nebo-
Křivka použitá nástrojem otherPartyPublicKey
se liší od křivky z tohoto klíče.
-nebo-
Tato instance představuje pouze veřejný klíč.
Poznámky
Tato metoda interně provádí smlouvu o klíči Elliptic Curve Diffie-Hellman k vytvoření sdíleného tajného klíče (z
).
Návratová hodnota této metody je 48 bajtů výstupu PROTOKOLU TLS 1.1 PRF (Pseudo-Random Function), PRF(z, prfLabel, prfSeed)
.
Další informace najdete v dokumentu IETF RFC 4346, oddíl 5.