Udostępnij za pośrednictwem


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

Definicja

W przypadku implementacji w klasie pochodnej wykonuje wyprowadzanie klucza przy użyciu protokołu TLS (Transport Layer Security) 1.1 PRF (pseudo-losowa funkcja).

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

Klucz publiczny innej strony.

prfLabel
Byte[]

Etykieta PRF zakodowana w formacie ASCII.

prfSeed
Byte[]

64-bajtowy nasion PRF.

Zwraca

Byte[]

Pierwsze 48 bajtów z protokołu TLS 1.1 PRF przy użyciu udostępnionego wpisu tajnego jako klucza.

Wyjątki

Klasa pochodna musi zastąpić tę metodę.

Krzywa używana przez element otherPartyPublicKey ma inny rozmiar niż krzywa z tego klucza.

otherPartyPublicKey, prfLabel lub prfSeed to null.

prfSeed nie ma dokładnie 64 bajtów długości.

-lub-

Krzywa używana przez otherPartyPublicKey element różni się od krzywej z tego klucza.

-lub-

To wystąpienie reprezentuje tylko klucz publiczny.

Uwagi

Ta metoda wewnętrznie wykonuje umowę klucza krzywej eliptycznej Diffie-Hellman w celu utworzenia udostępnionego wpisu tajnego (z).

Zwracana wartość tej metody to 48 bajtów wyjściowych protokołu TLS 1.1 PRF (pseudo-losowa funkcja), PRF(z, prfLabel, prfSeed).

Aby uzyskać więcej informacji, zobacz IETF RFC 4346, sekcja 5.

Dotyczy