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

Definizione

Dopo l'implementazione in una classe derivata, esegue la derivazione della chiave usando la PRF (Pseudo-Random Function) TLS (Transport Layer Security) 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()

Parametri

otherPartyPublicKey
ECDiffieHellmanPublicKey

Chiave pubblica dell'altra parte.

prfLabel
Byte[]

Etichetta PRF con codifica ASCII.

prfSeed
Byte[]

Valore di inizializzazione PRF a 64 byte.

Restituisce

Byte[]

Primi 48 byte dalla PRF TLS 1,1, usando il segreto condiviso come chiave.

Eccezioni

Una classe derivata deve eseguire l'override di questo metodo.

La curva usata da otherPartyPublicKey ha dimensioni diverse rispetto alla curva da questa chiave.

otherPartyPublicKey, prfLabel o prfSeed è null.

prfSeed non ha esattamente una lunghezza di 64 byte.

-oppure-

La curva usata da otherPartyPublicKey è diversa dalla curva da questa chiave.

-oppure-

Questa istanza rappresenta solo una chiave pubblica.

Commenti

Questo metodo esegue internamente il contratto chiave Elliptic Curve Diffie-Hellman per produrre il segreto condiviso (z).

Il valore restituito di questo metodo è un output di 48 byte del PRF TLS 1.1 (funzione pseudo-casuale), PRF(z, prfLabel, prfSeed).

Per altre informazioni, vedere IETF RFC 4346, sezione 5.

Si applica a