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

Definição

Quando implementado em uma classe derivada, executa a derivação de chave usando a PRF do TLS (Transport Layer Security) 1.1 ( funçãoPseudo-Random).

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 da outra parte.

prfLabel
Byte[]

O rótulo PRF codificado em ASCII.

prfSeed
Byte[]

A semente PRF de 64 bytes.

Retornos

Byte[]

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

Exceções

Uma classe derivada deve substituir esse método.

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

otherPartyPublicKey, prfLabel ou prfSeed é null.

prfSeed não tem exatamente 64 bytes de comprimento.

-ou-

A curva usada é 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çãoPseudo-Random), PRF(z, prfLabel, prfSeed).

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

Aplica-se a