ECDiffieHellman.DeriveKeyFromHmac Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Esegue la derivazione della chiave usando un algoritmo HMAC (Hash-based Message Authentication Code) specificato.
Overload
DeriveKeyFromHmac(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[], Byte[], Byte[]) |
Dopo l'implementazione in una classe derivata, esegue la derivazione della chiave usando un algoritmo HMAC (Hash-based Message Authentication Code) specificato con dati facoltativi anteposti o accodati. |
DeriveKeyFromHmac(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[]) |
Esegue la derivazione della chiave usando un algoritmo HMAC (Hash-based Message Authentication Code) specificato. |
DeriveKeyFromHmac(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[], Byte[], Byte[])
- Origine:
- ECDiffieHellman.cs
- Origine:
- ECDiffieHellman.cs
- Origine:
- ECDiffieHellman.cs
Dopo l'implementazione in una classe derivata, esegue la derivazione della chiave usando un algoritmo HMAC (Hash-based Message Authentication Code) specificato con dati facoltativi anteposti o accodati.
public:
virtual 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 virtual byte[] DeriveKeyFromHmac (System.Security.Cryptography.ECDiffieHellmanPublicKey otherPartyPublicKey, System.Security.Cryptography.HashAlgorithmName hashAlgorithm, byte[]? hmacKey, byte[]? secretPrepend, byte[]? secretAppend);
public virtual byte[] DeriveKeyFromHmac (System.Security.Cryptography.ECDiffieHellmanPublicKey otherPartyPublicKey, System.Security.Cryptography.HashAlgorithmName hashAlgorithm, byte[] hmacKey, byte[] secretPrepend, byte[] secretAppend);
abstract member DeriveKeyFromHmac : System.Security.Cryptography.ECDiffieHellmanPublicKey * System.Security.Cryptography.HashAlgorithmName * byte[] * byte[] * byte[] -> byte[]
override this.DeriveKeyFromHmac : System.Security.Cryptography.ECDiffieHellmanPublicKey * System.Security.Cryptography.HashAlgorithmName * byte[] * byte[] * byte[] -> byte[]
Public Overridable Function DeriveKeyFromHmac (otherPartyPublicKey As ECDiffieHellmanPublicKey, hashAlgorithm As HashAlgorithmName, hmacKey As Byte(), secretPrepend As Byte(), secretAppend As Byte()) As Byte()
Parametri
- otherPartyPublicKey
- ECDiffieHellmanPublicKey
Chiave pubblica dell'altra parte.
- hashAlgorithm
- HashAlgorithmName
Algoritmo hash da usare per derivare il materiale della chiave.
- hmacKey
- Byte[]
Chiave del valore HMAC.
- secretPrepend
- Byte[]
Valore da anteporre al segreto derivato prima dell'hashing.
- secretAppend
- Byte[]
Valore da aggiungere al segreto derivato prima dell'hashing.
Restituisce
HMAC del segreto condiviso dopo aver anteposto o accodato i dati come richiesto.
Eccezioni
Una classe derivata deve eseguire l'override di questo metodo.
La curva usata da otherPartyPublicKey
ha dimensioni diverse rispetto alla curva da questa chiave.
-oppure-
Il parametro hashAlgorithm
non specifica un hash.
otherPartyPublicKey
è null
.
La curva usata da otherPartyPublicKey
è diversa dalla curva da questa chiave.
-oppure-
Questa istanza rappresenta solo una chiave pubblica.
Commenti
Questo metodo esegue internamente il contratto chiave Elliptic Curve Diffie-Hellman per produrre il segreto condiviso (z
).
Quando hmacKey
è null
, il valore restituito da questo metodo è il risultato dell'uso HMAC-HASH(z, secretPrepend || z || secretAppend)
dell'algoritmo HMAC specificato, dove ||
indica la concatenazione. In caso contrario, il valore restituito da questo metodo è il risultato di HMAC-HASH(hmacKey, secretPrepend || z || secretAppend)
.
Se il valore di secretPrepend
o secretAppend
è null
, vengono considerati come matrici vuote.
Si applica a
DeriveKeyFromHmac(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[])
- Origine:
- ECDiffieHellman.cs
- Origine:
- ECDiffieHellman.cs
- Origine:
- ECDiffieHellman.cs
Esegue la derivazione della chiave usando un algoritmo HMAC (Hash-based Message Authentication Code) specificato.
public:
cli::array <System::Byte> ^ DeriveKeyFromHmac(System::Security::Cryptography::ECDiffieHellmanPublicKey ^ otherPartyPublicKey, System::Security::Cryptography::HashAlgorithmName hashAlgorithm, cli::array <System::Byte> ^ hmacKey);
public byte[] DeriveKeyFromHmac (System.Security.Cryptography.ECDiffieHellmanPublicKey otherPartyPublicKey, System.Security.Cryptography.HashAlgorithmName hashAlgorithm, byte[]? hmacKey);
public byte[] DeriveKeyFromHmac (System.Security.Cryptography.ECDiffieHellmanPublicKey otherPartyPublicKey, System.Security.Cryptography.HashAlgorithmName hashAlgorithm, byte[] hmacKey);
member this.DeriveKeyFromHmac : System.Security.Cryptography.ECDiffieHellmanPublicKey * System.Security.Cryptography.HashAlgorithmName * byte[] -> byte[]
Public Function DeriveKeyFromHmac (otherPartyPublicKey As ECDiffieHellmanPublicKey, hashAlgorithm As HashAlgorithmName, hmacKey As Byte()) As Byte()
Parametri
- otherPartyPublicKey
- ECDiffieHellmanPublicKey
Chiave pubblica dell'altra parte.
- hashAlgorithm
- HashAlgorithmName
Algoritmo hash da usare per derivare il materiale della chiave.
- hmacKey
- Byte[]
Chiave del valore HMAC.
Restituisce
HMAC del segreto condiviso.
Eccezioni
La curva usata da otherPartyPublicKey
ha dimensioni diverse rispetto alla curva da questa chiave.
-oppure-
Il parametro hashAlgorithm
non specifica un hash.
otherPartyPublicKey
è null
.
La curva usata da otherPartyPublicKey
è diversa dalla curva da questa chiave.
-oppure-
Questa istanza rappresenta solo una chiave pubblica.
Commenti
Questo overload chiama il DeriveKeyFromHmac metodo passando come valori prepend e accodati null
.