Поделиться через


X509Certificate.Export Метод

Определение

Экспортирует текущий объект X509Certificate в массив байтов.

Перегрузки

Export(X509ContentType)

Экспортирует текущий объект X509Certificate в массив байтов в формате, описанном одним из значений X509ContentType.

Export(X509ContentType, SecureString)

Экспортирует текущий объект X509Certificate в массив байтов с использованием заданных формата и пароля.

Export(X509ContentType, String)

Экспортирует текущий объект X509Certificate в массив байтов в формате, описанном одним из значений X509ContentType, с использованием заданного пароля.

Export(X509ContentType)

Исходный код:
X509Certificate.cs
Исходный код:
X509Certificate.cs
Исходный код:
X509Certificate.cs

Экспортирует текущий объект X509Certificate в массив байтов в формате, описанном одним из значений X509ContentType.

public:
 virtual cli::array <System::Byte> ^ Export(System::Security::Cryptography::X509Certificates::X509ContentType contentType);
public virtual 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[]
[<System.Runtime.InteropServices.ComVisible(false)>]
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()

Параметры

contentType
X509ContentType

Одно из значений X509ContentType, описывающих способы форматирования выходных данных.

Возвращаемое значение

Byte[]

Массив байтов, представляющий текущий объект X509Certificate.

Атрибуты

Исключения

Значение, отличное от Cert, SerializedCert или Pkcs12, было передано в параметр contentType.

-или-

Не удалось экспортировать сертификат.

Примеры

В следующем примере файл сертификата X.509 загружается в X509Certificate объект , экспорт сертификата в виде массива байтов, а затем импортируется массив байтов в другой X509Certificate объект.

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

Комментарии

Параметр contentType принимает только следующие значения перечисления X509ContentType : Cert, SerializedCertи Pkcs12. Передача любого другого значения вызывает CryptographicException исключение .

Применяется к

Export(X509ContentType, SecureString)

Исходный код:
X509Certificate.cs
Исходный код:
X509Certificate.cs
Исходный код:
X509Certificate.cs

Важно!

Этот API несовместим с CLS.

Экспортирует текущий объект X509Certificate в массив байтов с использованием заданных формата и пароля.

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);
[System.CLSCompliant(false)]
public virtual byte[] Export (System.Security.Cryptography.X509Certificates.X509ContentType contentType, System.Security.SecureString password);
public virtual byte[] Export (System.Security.Cryptography.X509Certificates.X509ContentType contentType, System.Security.SecureString password);
[<System.CLSCompliant(false)>]
abstract member Export : System.Security.Cryptography.X509Certificates.X509ContentType * System.Security.SecureString -> byte[]
override this.Export : System.Security.Cryptography.X509Certificates.X509ContentType * System.Security.SecureString -> byte[]
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()

Параметры

contentType
X509ContentType

Одно из значений X509ContentType, описывающих способы форматирования выходных данных.

password
SecureString

Пароль для доступа к данным сертификата X.509.

Возвращаемое значение

Byte[]

Массив байтов, представляющий текущий объект X509Certificate.

Атрибуты

Исключения

Значение, отличное от Cert, SerializedCert или Pkcs12, было передано в параметр contentType.

-или-

Не удалось экспортировать сертификат.

Комментарии

Параметр contentType принимает только следующие значения перечисления X509ContentType : Cert, SerializedCertи Pkcs12. Передача любого другого значения вызывает CryptographicException исключение .

Важно!

Никогда не жестко кодируйте пароль в исходном коде. Жестко заданные пароли можно получить из сборки с помощью Ildasm.exe (дизассемблера IL), шестнадцатеричного редактора или просто открыв сборку в текстовом редакторе, например Notepad.exe.

Применяется к

Export(X509ContentType, String)

Исходный код:
X509Certificate.cs
Исходный код:
X509Certificate.cs
Исходный код:
X509Certificate.cs

Экспортирует текущий объект X509Certificate в массив байтов в формате, описанном одним из значений X509ContentType, с использованием заданного пароля.

public:
 virtual cli::array <System::Byte> ^ Export(System::Security::Cryptography::X509Certificates::X509ContentType contentType, System::String ^ password);
public virtual byte[] Export (System.Security.Cryptography.X509Certificates.X509ContentType contentType, string? password);
public virtual byte[] Export (System.Security.Cryptography.X509Certificates.X509ContentType contentType, 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[]
[<System.Runtime.InteropServices.ComVisible(false)>]
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()

Параметры

contentType
X509ContentType

Одно из значений X509ContentType, описывающих способы форматирования выходных данных.

password
String

Пароль для доступа к данным сертификата X.509.

Возвращаемое значение

Byte[]

Массив байтов, представляющий текущий объект X509Certificate.

Атрибуты

Исключения

Значение, отличное от Cert, SerializedCert или Pkcs12, было передано в параметр contentType.

-или-

Не удалось экспортировать сертификат.

Комментарии

Параметр contentType принимает только следующие значения перечисления X509ContentType : Cert, SerializedCertи Pkcs12. Передача любого другого значения вызывает CryptographicException исключение .

Важно!

Никогда не жестко кодируйте пароль в исходном коде. Жестко заданные пароли можно получить из сборки с помощью Ildasm.exe (дизассемблера IL), шестнадцатеричного редактора или просто открыв сборку в текстовом редакторе, например Notepad.exe.

Применяется к