X509Certificate.Export Method (X509ContentType)
Exports the current X509Certificate object to a byte array in a format described by one of the X509ContentType values.
Namespace: System.Security.Cryptography.X509Certificates
Assembly: mscorlib (in mscorlib.dll)
Parameters
- contentType
- Type: System.Security.Cryptography.X509Certificates.X509ContentType
One of the X509ContentType values that describes how to format the output data.
Return Value
Type: System.Byte[]An array of bytes that represents the current X509Certificate object.
| Exception | Condition |
|---|---|
| CryptographicException | A value other than Cert, SerializedCert, or Pkcs12 was passed to the contentType parameter. -or- The certificate could not be exported. |
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.
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 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); } }
- 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: KeyContainerPermissionFlags.Open, KeyContainerPermissionFlags.Export
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.