Teilen über


ECDiffieHellmanOpenSsl.DeriveKeyFromHmac Methode

Definition

Führt die Schlüsselableitung mithilfe eines angegebenen HMAC-Algorithmus (Hash-based Message Authentication Code, Hash-Nachrichtenauthentifizierungscode) mit optionalen vorangestellten oder angefügten Daten aus.

public:
 override cli::array <System::Byte> ^ DeriveKeyFromHmac(System::Security::Cryptography::ECDiffieHellmanPublicKey ^ otherPartyPublicKey, System::Security::Cryptography::HashAlgorithmName hashAlgorithm, cli::array <System::Byte> ^ hmacKey, cli::array <System::Byte> ^ secretPrepend, cli::array <System::Byte> ^ secretAppend);
public override byte[] DeriveKeyFromHmac (System.Security.Cryptography.ECDiffieHellmanPublicKey otherPartyPublicKey, System.Security.Cryptography.HashAlgorithmName hashAlgorithm, byte[]? hmacKey, byte[]? secretPrepend, byte[]? secretAppend);
override this.DeriveKeyFromHmac : System.Security.Cryptography.ECDiffieHellmanPublicKey * System.Security.Cryptography.HashAlgorithmName * byte[] * byte[] * byte[] -> byte[]
Public Overrides Function DeriveKeyFromHmac (otherPartyPublicKey As ECDiffieHellmanPublicKey, hashAlgorithm As HashAlgorithmName, hmacKey As Byte(), secretPrepend As Byte(), secretAppend As Byte()) As Byte()

Parameter

otherPartyPublicKey
ECDiffieHellmanPublicKey

Der öffentliche Schlüssel der anderen Partei.

hashAlgorithm
HashAlgorithmName

Der Hashalgorithmus, der zum Ableiten des Schlüsselmaterials verwendet werden soll.

hmacKey
Byte[]

Der Schlüssel für den HMAC.

secretPrepend
Byte[]

Ein Wert, der dem abgeleiteten geheimen Schlüssel vor dem Hashverfahren vorangestellt wird.

secretAppend
Byte[]

Ein Wert, der dem abgeleiteten geheimen Schlüssel vor dem Hashverfahren angefügt wird.

Gibt zurück

Byte[]

Der HMAC des gemeinsamen geheimen Schlüssels nach dem Voranstellen oder Anfügen von Daten wie angefordert.

Ausnahmen

Die von otherPartyPublicKey verwendete Kurve hat eine andere Größe als die Kurve aus diesem Schlüssel.

- oder -

Der hashAlgorithm-Parameter gibt keinen Hash an.

otherPartyPublicKey ist null.

Die von otherPartyPublicKey verwendete Kurve unterscheidet sich von der Kurve aus diesem Schlüssel.

- oder -

Diese Instanz stellt nur einen öffentlichen Schlüssel dar.

Gilt für: