ECDiffieHellman.Create Method

Definition

Creates a new instance of an implementation of the Elliptic Curve Diffie-Hellman (ECDH) algorithm.

Overloads

Create()

Creates a new instance of the default implementation of the Elliptic Curve Diffie-Hellman (ECDH) algorithm.

Create(ECCurve)

Creates a new instance of the default implementation of the Elliptic Curve Diffie-Hellman (ECDH) algorithm with a new public/private key-pair generated over the specified curve.

Create(ECParameters)

Creates a new instance of the default implementation of the Elliptic Curve Diffie-Hellman (ECDH) algorithm with the key described by the specified ECParameters object.

Create(String)

Creates a new instance of the specified implementation of the Elliptic Curve Diffie-Hellman (ECDH) algorithm.

Create()

Creates a new instance of the default implementation of the Elliptic Curve Diffie-Hellman (ECDH) algorithm.

public:
 static System::Security::Cryptography::ECDiffieHellman ^ Create();
public static System.Security.Cryptography.ECDiffieHellman Create ();
static member Create : unit -> System.Security.Cryptography.ECDiffieHellman
Public Shared Function Create () As ECDiffieHellman

Returns

A new instance of the default implementation of this class.

Create(ECCurve)

Creates a new instance of the default implementation of the Elliptic Curve Diffie-Hellman (ECDH) algorithm with a new public/private key-pair generated over the specified curve.

public:
 static System::Security::Cryptography::ECDiffieHellman ^ Create(System::Security::Cryptography::ECCurve curve);
public static System.Security.Cryptography.ECDiffieHellman Create (System.Security.Cryptography.ECCurve curve);
static member Create : System.Security.Cryptography.ECCurve -> System.Security.Cryptography.ECDiffieHellman
Public Shared Function Create (curve As ECCurve) As ECDiffieHellman

Parameters

curve
ECCurve

The curve to use to generate a new public/private key-pair.

Returns

A new instance of the default implementation of the Elliptic Curve Diffie-Hellman (ECDH) algorithm.

Exceptions

curve does not validate.

Remarks

curve must validate (that is, it must return true when passed to the ECCurve.Validate method.

Characteristic-2 curves are not supported on Windows.

See also

Create(ECParameters)

Creates a new instance of the default implementation of the Elliptic Curve Diffie-Hellman (ECDH) algorithm with the key described by the specified ECParameters object.

public:
 static System::Security::Cryptography::ECDiffieHellman ^ Create(System::Security::Cryptography::ECParameters parameters);
public static System.Security.Cryptography.ECDiffieHellman Create (System.Security.Cryptography.ECParameters parameters);
static member Create : System.Security.Cryptography.ECParameters -> System.Security.Cryptography.ECDiffieHellman
Public Shared Function Create (parameters As ECParameters) As ECDiffieHellman

Parameters

parameters
ECParameters

The parameters for the elliptic curve cryptography (ECC) algorithm.

Returns

A new instance of the default implementation of the Elliptic Curve Diffie-Hellman (ECDH) algorithm.

Exceptions

parameters does not validate.

Remarks

parameters must validate (that is, it must return true) when passed to the ECParameters.Validate method. Parameters over implicit curves are not supported.

Characteristic-2 curves are not supported on Windows.

See also

Create(String)

Creates a new instance of the specified implementation of the Elliptic Curve Diffie-Hellman (ECDH) algorithm.

public:
 static System::Security::Cryptography::ECDiffieHellman ^ Create(System::String ^ algorithm);
public static System.Security.Cryptography.ECDiffieHellman Create (string algorithm);
static member Create : string -> System.Security.Cryptography.ECDiffieHellman
Public Shared Function Create (algorithm As String) As ECDiffieHellman

Parameters

algorithm
String

The name of an implementation of the ECDH algorithm.

Returns

A new instance of the specified implementation of this class. If the specified algorithm name does not map to an ECDH implementation, this method returns null.

Exceptions

The algorithm parameter is null.

Remarks

If you develop your own implementation of an ECDiffieHellman object, you can use the Create(String) method overload to create a custom algorithm string that specifies your implementation.

The algorithm parameter specifies the name of an implementation of the ECDH algorithm. The following strings all refer to the same implementation, which is the only implementation currently supported in the .NET Framework:

  • "ECDH"

  • "ECDiffieHellman"

  • "ECDiffieHellmanCng"

  • "System.Security.Cryptography.ECDiffieHellmanCng"

You can also provide the name of a custom ECDH implementation for the algorithm parameter. If you do that, the CryptoConfig object will use it to determine whether an ECDH object can be created.

Applies to