X509Certificate.Export X509Certificate.Export X509Certificate.Export X509Certificate.Export Method

Definition

Exports the current X509Certificate object to a byte array.

Overloads

Export(X509ContentType) Export(X509ContentType) Export(X509ContentType) Export(X509ContentType)

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

Export(X509ContentType, SecureString) Export(X509ContentType, SecureString) Export(X509ContentType, SecureString) Export(X509ContentType, SecureString)

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

Export(X509ContentType, String) Export(X509ContentType, String) Export(X509ContentType, String) 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) Export(X509ContentType) Export(X509ContentType) Export(X509ContentType)

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

public:
 virtual cli::array <System::Byte> ^ Export(System::Security::Cryptography::X509Certificates::X509ContentType contentType);
[System.Runtime.InteropServices.ComVisible(false)]
public virtual byte[] Export (System.Security.Cryptography.X509Certificates.X509ContentType contentType);
abstract member Export : System.Security.Cryptography.X509Certificates.X509ContentType -> byte[]
override this.Export : System.Security.Cryptography.X509Certificates.X509ContentType -> byte[]
Public Overridable Function Export (contentType As X509ContentType) As Byte()

Parameters

contentType
X509ContentType X509ContentType X509ContentType 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.

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.

using namespace System;
using namespace System::Security::Cryptography::X509Certificates;
int main()
{
   
   // The path to the certificate.
   String^ Certificate = L"test.pfx";
   
   // Load the certificate into an X509Certificate object.
   X509Certificate^ cert = gcnew X509Certificate( Certificate );
   array<Byte>^certData = cert->Export( X509ContentType::Cert );
   X509Certificate^ newCert = gcnew 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 );
}

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);

    }

}
Imports System
Imports System.Security.Cryptography.X509Certificates


Module X509

    Sub Main()

        ' The path to the certificate.
        Dim Certificate As String = "test.pfx"

        ' Load the certificate into an X509Certificate object.
        Dim cert As New X509Certificate(Certificate)


        Dim certData As Byte() = cert.Export(X509ContentType.Cert)

        Dim newCert As New X509Certificate(certData)

        ' Get the value.
        Dim resultsTrue As String = newCert.ToString(True)

        ' Display the value to the console.
        Console.WriteLine(resultsTrue)

        ' Get the value.
        Dim resultsFalse As String = newCert.ToString(False)

        ' Display the value to the console.
        Console.WriteLine(resultsFalse)

    End Sub
End Module

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.

Security

KeyContainerPermission
for permission to open a key container and export a certificate when you pass the SerializedCert value to the contentType parameter. Security action: Demand. Associated enumerations: Open, Export

Export(X509ContentType, SecureString) Export(X509ContentType, SecureString) Export(X509ContentType, SecureString) Export(X509ContentType, SecureString)

Important

This API is not CLS-compliant.

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

public:
 virtual cli::array <System::Byte> ^ Export(System::Security::Cryptography::X509Certificates::X509ContentType contentType, System::Security::SecureString ^ password);
[System.CLSCompliant(false)]
public virtual byte[] Export (System.Security.Cryptography.X509Certificates.X509ContentType contentType, System.Security.SecureString password);
abstract member Export : System.Security.Cryptography.X509Certificates.X509ContentType * System.Security.SecureString -> byte[]
override this.Export : System.Security.Cryptography.X509Certificates.X509ContentType * System.Security.SecureString -> byte[]
Public Overridable Function Export (contentType As X509ContentType, password As SecureString) As Byte()

Parameters

contentType
X509ContentType X509ContentType X509ContentType X509ContentType

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

password
SecureString SecureString SecureString SecureString

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

Returns

Byte[]

A byte array that represents the current X509Certificate object.

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.

Security

KeyContainerPermission
for permission to open a key container and export a certificate when you pass the SerializedCert value to the contentType parameter. Security action: Demand. Associated enumerations: Open, Export

Export(X509ContentType, String) Export(X509ContentType, String) Export(X509ContentType, String) 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.

public:
 virtual cli::array <System::Byte> ^ Export(System::Security::Cryptography::X509Certificates::X509ContentType contentType, System::String ^ password);
[System.Runtime.InteropServices.ComVisible(false)]
public virtual byte[] Export (System.Security.Cryptography.X509Certificates.X509ContentType contentType, string password);
abstract member Export : System.Security.Cryptography.X509Certificates.X509ContentType * string -> byte[]
override this.Export : System.Security.Cryptography.X509Certificates.X509ContentType * string -> byte[]
Public Overridable Function Export (contentType As X509ContentType, password As String) As Byte()

Parameters

contentType
X509ContentType X509ContentType X509ContentType X509ContentType

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

password
String String String String

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

Returns

Byte[]

An array of bytes that represents the current X509Certificate object.

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.

Security

KeyContainerPermission
for permission to open a key container and export a certificate when you pass the SerializedCert value to the contentType parameter. Security action: Demand. Associated enumerations: Open, Export

Applies to