X509Certificate.Export Method

Definition

Exports the current X509Certificate object to a byte array.

Overloads

Export(X509ContentType)

Exports the current X509Certificate object to a byte array in a format described by one of the X509ContentType values.

Export(X509ContentType, SecureString)

Exports the current X509Certificate object to a byte array using the specified format and a password.

Export(X509ContentType, String)

Exports the current X509Certificate object to a byte array in a format described by one of the X509ContentType values, and using the specified password.

Export(X509ContentType)

Source:
X509Certificate.cs
Source:
X509Certificate.cs
Source:
X509Certificate.cs

Exports the current X509Certificate object to a byte array in a format described by one of the X509ContentType values.

C#
public virtual byte[] Export(System.Security.Cryptography.X509Certificates.X509ContentType contentType);
C#
[System.Runtime.InteropServices.ComVisible(false)]
public virtual byte[] Export(System.Security.Cryptography.X509Certificates.X509ContentType contentType);

Parameters

contentType
X509ContentType

One of the X509ContentType values that describes how to format the output data.

Returns

Byte[]

An array of bytes that represents the current X509Certificate object.

Attributes

Exceptions

A value other than Cert, SerializedCert, or Pkcs12 was passed to the contentType parameter.

-or-

The certificate could not be exported.

Examples

The following example loads an X.509 certificate file into an X509Certificate object, exports the certificate as a byte array, and then imports the byte array into another X509Certificate object.

C#
using System;
using System.Security.Cryptography.X509Certificates;

public class X509
{

    public static void Main()
    {

        // The path to the certificate.
        string Certificate = "test.pfx";

        // Load the certificate into an X509Certificate object.
        X509Certificate cert = new X509Certificate(Certificate);

        byte[] certData = cert.Export(X509ContentType.Cert);

        X509Certificate newCert = new X509Certificate(certData);

        // Get the value.
        string resultsTrue = newCert.ToString(true);

        // Display the value to the console.
        Console.WriteLine(resultsTrue);

        // Get the value.
        string resultsFalse = newCert.ToString(false);

        // Display the value to the console.
        Console.WriteLine(resultsFalse);
    }
}

Remarks

The contentType parameter accepts only the following values of the X509ContentType enumeration: Cert, SerializedCert, and Pkcs12. Passing any other value causes a CryptographicException to be thrown.

Applies to

.NET 9 and other versions
Product Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1

Export(X509ContentType, SecureString)

Source:
X509Certificate.cs
Source:
X509Certificate.cs
Source:
X509Certificate.cs

Important

This API is not CLS-compliant.

Exports the current X509Certificate object to a byte array using the specified format and a password.

C#
[System.CLSCompliant(false)]
public virtual byte[] Export(System.Security.Cryptography.X509Certificates.X509ContentType contentType, System.Security.SecureString? password);
C#
[System.CLSCompliant(false)]
public virtual byte[] Export(System.Security.Cryptography.X509Certificates.X509ContentType contentType, System.Security.SecureString password);
C#
public virtual byte[] Export(System.Security.Cryptography.X509Certificates.X509ContentType contentType, System.Security.SecureString password);

Parameters

contentType
X509ContentType

One of the X509ContentType values that describes how to format the output data.

password
SecureString

The password required to access the X.509 certificate data.

Returns

Byte[]

A byte array that represents the current X509Certificate object.

Attributes

Exceptions

A value other than Cert, SerializedCert, or Pkcs12 was passed to the contentType parameter.

-or-

The certificate could not be exported.

Remarks

The contentType parameter accepts only the following values of the X509ContentType enumeration: Cert, SerializedCert, and Pkcs12. Passing any other value causes a CryptographicException to be thrown.

Important

Never hard code a password within your source code. Hard-coded passwords can be retrieved from an assembly using the Ildasm.exe (IL Disassembler), a hex editor, or by simply opening the assembly in a text editor such as Notepad.exe.

Applies to

.NET 9 and other versions
Product Versions
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

Export(X509ContentType, String)

Source:
X509Certificate.cs
Source:
X509Certificate.cs
Source:
X509Certificate.cs

Exports the current X509Certificate object to a byte array in a format described by one of the X509ContentType values, and using the specified password.

C#
public virtual byte[] Export(System.Security.Cryptography.X509Certificates.X509ContentType contentType, string? password);
C#
public virtual byte[] Export(System.Security.Cryptography.X509Certificates.X509ContentType contentType, string password);
C#
[System.Runtime.InteropServices.ComVisible(false)]
public virtual byte[] Export(System.Security.Cryptography.X509Certificates.X509ContentType contentType, string password);

Parameters

contentType
X509ContentType

One of the X509ContentType values that describes how to format the output data.

password
String

The password required to access the X.509 certificate data.

Returns

Byte[]

An array of bytes that represents the current X509Certificate object.

Attributes

Exceptions

A value other than Cert, SerializedCert, or Pkcs12 was passed to the contentType parameter.

-or-

The certificate could not be exported.

Remarks

The contentType parameter accepts only the following values of the X509ContentType enumeration: Cert, SerializedCert, and Pkcs12. Passing any other value causes a CryptographicException to be thrown.

Important

Never hard code a password within your source code. Hard-coded passwords can be retrieved from an assembly using the Ildasm.exe (IL Disassembler), a hex editor, or by simply opening the assembly in a text editor such as Notepad.exe.

Applies to

.NET 9 and other versions
Product Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1