Condividi tramite


ECDiffieHellmanKeyDerivationFunction Enumerazione

Definizione

Specifica la funzione di derivazione della chiave che verrà usata dalla classe ECDiffieHellmanCng per convertire i contratti segreti in materiale chiave.

public enum class ECDiffieHellmanKeyDerivationFunction
public enum ECDiffieHellmanKeyDerivationFunction
type ECDiffieHellmanKeyDerivationFunction = 
Public Enum ECDiffieHellmanKeyDerivationFunction
Ereditarietà
ECDiffieHellmanKeyDerivationFunction

Campi

Nome Valore Descrizione
Hash 0

Un algoritmo hash viene usato per generare materiale della chiave. La HashAlgorithm proprietà specifica il nome dell'algoritmo da utilizzare. Se il nome dell'algoritmo non viene specificato, SHA256 viene usato come algoritmo predefinito. È anche possibile specificare le SecretPrepend proprietà e SecretAppend , ma non sono necessarie. La quantità di materiale della chiave generata equivale alla dimensione del valore hash per l'algoritmo specificato.

Hmac 1

Per generare materiale della chiave viene usato un algoritmo HMAC (Hash-based Message Authentication Code). La HmacKey proprietà specifica la chiave da utilizzare. Questa proprietà deve essere impostata o la UseSecretAgreementAsHmacKey proprietà deve essere impostata su true; in caso contrario, viene generata un'eccezione CryptographicException quando si utilizza Hmac. Se vengono impostate entrambe le proprietà, il contratto segreto viene usato come chiave HMAC. È anche possibile specificare le SecretPrepend proprietà e SecretAppend , ma non sono necessarie. La quantità di materiale chiave generato equivale alla dimensione del valore HMAC.

Tls 2

Il protocollo Transport Layer Security (TLS) viene usato per generare materiale della chiave. Le Seed proprietà e Label devono essere impostate; in caso contrario, viene generata un'eccezione CryptographicException quando si utilizza Tls. Questo valore genera 160 bit di materiale chiave.

Commenti

L'enumerazione ECDiffieHellmanKeyDerivationFunction definisce il tipo di algoritmo che verrà usato per trasformare un contratto segreto non elaborato in materiale chiave. Il contratto segreto è il valore generato da una chiave privata e dalla chiave pubblica dell'altra parte, come parte dello scambio di chiavi. È il valore di inizializzazione per il materiale della chiave generato dal ECDiffieHellmanCng.DeriveKeyMaterial metodo .

La ECDiffieHellmanCng.KeyDerivationFunction proprietà usa questa enumerazione per ottenere la funzione di derivazione della chiave per la ECDiffieHellmanCng classe .

Si applica a