Edit

Share via


X509Certificate2.CopyWithPrivateKey Method

Definition

Overloads

CopyWithPrivateKey(SlhDsa)

Combines a private key with a certificate containing the associated public key into a new instance that can access the private key.

CopyWithPrivateKey(MLDsa)

Combines a private key with a certificate containing the associated public key into a new instance that can access the private key.

CopyWithPrivateKey(MLKem)

Combines a private key with a certificate containing the associated public key into a new instance that can access the private key.

CopyWithPrivateKey(CompositeMLDsa)

Combines a private key with a certificate containing the associated public key into a new instance that can access the private key.

CopyWithPrivateKey(ECDiffieHellman)

Combines a private key with the public key of an ECDiffieHellman certificate to generate a new ECDiffieHellman certificate.

CopyWithPrivateKey(SlhDsa)

Combines a private key with a certificate containing the associated public key into a new instance that can access the private key.

public:
 System::Security::Cryptography::X509Certificates::X509Certificate2 ^ CopyWithPrivateKey(System::Security::Cryptography::SlhDsa ^ privateKey);
[System.Diagnostics.CodeAnalysis.Experimental("SYSLIB5006", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public System.Security.Cryptography.X509Certificates.X509Certificate2 CopyWithPrivateKey(System.Security.Cryptography.SlhDsa privateKey);
[<System.Diagnostics.CodeAnalysis.Experimental("SYSLIB5006", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
member this.CopyWithPrivateKey : System.Security.Cryptography.SlhDsa -> System.Security.Cryptography.X509Certificates.X509Certificate2
Public Function CopyWithPrivateKey (privateKey As SlhDsa) As X509Certificate2

Parameters

privateKey
SlhDsa

The SLH-DSA private key that corresponds to the SLH-DSA public key in this certificate.

Returns

A new certificate with the HasPrivateKey property set to true.

The current certificate isn't modified.

Attributes

Exceptions

privateKey is null.

The specified private key doesn't match the public key for this certificate.

The certificate already has an associated private key.

Applies to

CopyWithPrivateKey(MLDsa)

Source:
X509Certificate2.cs

Combines a private key with a certificate containing the associated public key into a new instance that can access the private key.

public:
 System::Security::Cryptography::X509Certificates::X509Certificate2 ^ CopyWithPrivateKey(System::Security::Cryptography::MLDsa ^ privateKey);
[System.Diagnostics.CodeAnalysis.Experimental("SYSLIB5006", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public System.Security.Cryptography.X509Certificates.X509Certificate2 CopyWithPrivateKey(System.Security.Cryptography.MLDsa privateKey);
[<System.Diagnostics.CodeAnalysis.Experimental("SYSLIB5006", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
member this.CopyWithPrivateKey : System.Security.Cryptography.MLDsa -> System.Security.Cryptography.X509Certificates.X509Certificate2
Public Function CopyWithPrivateKey (privateKey As MLDsa) As X509Certificate2

Parameters

privateKey
MLDsa

The ML-DSA private key that corresponds to the ML-DSA public key in this certificate.

Returns

A new certificate with the HasPrivateKey property set to true.

The current certificate isn't modified.

Attributes

Exceptions

privateKey is null.

The specified private key doesn't match the public key for this certificate.

The certificate already has an associated private key.

Applies to

CopyWithPrivateKey(MLKem)

Source:
X509Certificate2.cs

Combines a private key with a certificate containing the associated public key into a new instance that can access the private key.

public:
 System::Security::Cryptography::X509Certificates::X509Certificate2 ^ CopyWithPrivateKey(System::Security::Cryptography::MLKem ^ privateKey);
[System.Diagnostics.CodeAnalysis.Experimental("SYSLIB5006", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public System.Security.Cryptography.X509Certificates.X509Certificate2 CopyWithPrivateKey(System.Security.Cryptography.MLKem privateKey);
[<System.Diagnostics.CodeAnalysis.Experimental("SYSLIB5006", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
member this.CopyWithPrivateKey : System.Security.Cryptography.MLKem -> System.Security.Cryptography.X509Certificates.X509Certificate2
Public Function CopyWithPrivateKey (privateKey As MLKem) As X509Certificate2

Parameters

privateKey
MLKem

The ML-KEM private key that corresponds to the ML-KEM public key in this certificate.

Returns

A new certificate with the HasPrivateKey property set to true.

The current certificate isn't modified.

Attributes

Exceptions

privateKey is null.

The specified private key doesn't match the public key for this certificate.

The certificate already has an associated private key.

Applies to

CopyWithPrivateKey(CompositeMLDsa)

Combines a private key with a certificate containing the associated public key into a new instance that can access the private key.

public:
 System::Security::Cryptography::X509Certificates::X509Certificate2 ^ CopyWithPrivateKey(System::Security::Cryptography::CompositeMLDsa ^ privateKey);
[System.Diagnostics.CodeAnalysis.Experimental("SYSLIB5006", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public System.Security.Cryptography.X509Certificates.X509Certificate2 CopyWithPrivateKey(System.Security.Cryptography.CompositeMLDsa privateKey);
[<System.Diagnostics.CodeAnalysis.Experimental("SYSLIB5006", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
member this.CopyWithPrivateKey : System.Security.Cryptography.CompositeMLDsa -> System.Security.Cryptography.X509Certificates.X509Certificate2
Public Function CopyWithPrivateKey (privateKey As CompositeMLDsa) As X509Certificate2

Parameters

privateKey
CompositeMLDsa

The Composite ML-DSA private key that corresponds to the Composite ML-DSA public key in this certificate.

Returns

A new certificate with the HasPrivateKey property set to true.

The current certificate isn't modified.

Attributes

Exceptions

privateKey is null.

The specified private key doesn't match the public key for this certificate.

The certificate already has an associated private key.

Combining a certificate and a Composite ML-DSA private key is not supported on this platform.

Applies to

CopyWithPrivateKey(ECDiffieHellman)

Source:
X509Certificate2.cs
Source:
X509Certificate2.cs
Source:
X509Certificate2.cs
Source:
X509Certificate2.cs

Combines a private key with the public key of an ECDiffieHellman certificate to generate a new ECDiffieHellman certificate.

public:
 System::Security::Cryptography::X509Certificates::X509Certificate2 ^ CopyWithPrivateKey(System::Security::Cryptography::ECDiffieHellman ^ privateKey);
public System.Security.Cryptography.X509Certificates.X509Certificate2 CopyWithPrivateKey(System.Security.Cryptography.ECDiffieHellman privateKey);
member this.CopyWithPrivateKey : System.Security.Cryptography.ECDiffieHellman -> System.Security.Cryptography.X509Certificates.X509Certificate2
Public Function CopyWithPrivateKey (privateKey As ECDiffieHellman) As X509Certificate2

Parameters

privateKey
ECDiffieHellman

The private ECDiffieHellman key.

Returns

A new ECDiffieHellman certificate with the HasPrivateKey property set to true. The current certificate isn't modified.

Exceptions

privateKey is null.

The certificate already has an associated private key.

The certificate doesn't have a public key.

-or-

The specified private key doesn't match the public key for this certificate.

Applies to