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.

C#
public virtual byte[] DeriveKeyTls(System.Security.Cryptography.ECDiffieHellmanPublicKey otherPartyPublicKey, byte[] prfLabel, byte[] prfSeed);

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 de chave para produzir o segredo compartilhado (z).

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

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

Aplica-se a

Produto Versões
.NET Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.1