ECDiffieHellman.DeriveKeyTls(ECDiffieHellmanPublicKey, Byte[], Byte[]) Método

Definição

Quando implementada em uma classe derivada, executa a derivação de chave usando a PRF (função pseudoaleatória) do protocolo TLS 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()

Parâmetros

otherPartyPublicKey
ECDiffieHellmanPublicKey

A chave pública do outro participante.

prfLabel
Byte[]

O rótulo PRF codificado em ASCII.

prfSeed
Byte[]

A semente PRF de 64 bytes.

Retornos

Byte[]

Os primeiros 48 bytes do protocolo TLS 1.1 PRF, usando o segredo compartilhado como a chave.

Exceções

Uma classe derivada deve substituir esse método.

A curva usada por otherPartyPublicKey tem um tamanho diferente da curva dessa chave.

otherPartyPublicKey, prfLabel ou prfSeed é null.

prfSeed não tem tamanho de exatamente 64 bytes.

- ou -

A curva usada por otherPartyPublicKey é diferente da curva dessa chave.

- ou -

Essa instância representa apenas uma chave pública.

Comentários

Esse método executa internamente a Curva Elíptica Diffie-Hellman contrato-chave para produzir o segredo compartilhado (z).

O valor retornado desse método é uma saída de 48 bytes do TLS 1.1 PRF (Função Pseudo-Aleatória), PRF(z, prfLabel, prfSeed).

Para obter mais informações, consulte IETF RFC 4346, seção 5.

Aplica-se a