ECDiffieHellmanKeyDerivationFunction Enumerazione

Definizione

Specifica la funzione di derivazione di chiave che la classe ECDiffieHellmanCng utilizzerà per convertire chiavi private in materiale della chiave.

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

Campi

Hash 0

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

Hmac 1

Un algoritmo HMAC (Hash-based Message Authentication Code) viene utilizzato per generare il materiale della chiave. La proprietà HmacKey specifica la chiave da utilizzare. Questa proprietà deve essere impostata, oppure la proprietà UseSecretAgreementAsHmacKey deve essere impostata su true; in caso contrario, un oggetto CryptographicException viene generato quando si utilizza Hmac. Se entrambe le proprietà sono impostate, la chiave privata viene utilizzata come chiave HMAC. È anche possibile specificare le proprietà SecretPrepend e SecretAppend, ma non sono obbligatorie. La quantità di materiale della chiave generato è equivalente alla dimensione del valore HMAC.

Tls 2

Il protocollo TLS (Transport Layer Security) viene utilizzato per generare il materiale della chiave. Le proprietà Seed e Label devono essere impostate; in caso contrario, un oggetto CryptographicException viene generato quando si utilizza Tls. Questo valore genera 160 bit di materiale della 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 ECDiffieHellmanCng.DeriveKeyMaterial materiale chiave generato dal metodo .

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

Si applica a