X509Certificate.Export 方法

定義

將目前的 X509Certificate 物件匯出至位元組陣列。Exports the current X509Certificate object to a byte array.

多載

Export(X509ContentType)

以其中一個 X509Certificate 值所描述的格式,將目前的 X509ContentType 物件匯出至位元組陣列。Exports the current X509Certificate object to a byte array in a format described by one of the X509ContentType values.

Export(X509ContentType, SecureString)

使用指定的格式和密碼,將目前的 X509Certificate 物件匯出至位元組陣列。Exports the current X509Certificate object to a byte array using the specified format and a password.

Export(X509ContentType, String)

以其中一個 X509Certificate 值所描述的格式,並使用指定的密碼,將目前的 X509ContentType 物件匯出至位元組陣列。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)

以其中一個 X509Certificate 值所描述的格式,將目前的 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);
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 值,其描述如何格式化輸出資料。One of the X509ContentType values that describes how to format the output data.

傳回

Byte[]

位元組的陣列,表示目前的 X509Certificate 物件。An array of bytes that represents the current X509Certificate object.

屬性

例外狀況

CertSerializedCertPkcs12 以外的值傳遞至 contentType 參數。A value other than Cert, SerializedCert, or Pkcs12 was passed to the contentType parameter.

-或--or- 無法匯出憑證。The certificate could not be exported.

範例

下列範例會將 x.509 憑證檔案載入至 X509Certificate 物件、將憑證匯出為位元組陣列,然後將位元組陣列匯入至另一個 X509Certificate 物件。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.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 列舉值: CertSerializedCertPkcs12The contentType parameter accepts only the following values of the X509ContentType enumeration: Cert, SerializedCert, and Pkcs12. 傳遞任何其他值會導致擲回 CryptographicExceptionPassing any other value causes a CryptographicException to be thrown.

適用於

Export(X509ContentType, SecureString)

重要

此 API 不符合 CLS 規範。

使用指定的格式和密碼,將目前的 X509Certificate 物件匯出至位元組陣列。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);
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);
abstract member Export : System.Security.Cryptography.X509Certificates.X509ContentType * System.Security.SecureString -> byte[]
override this.Export : System.Security.Cryptography.X509Certificates.X509ContentType * System.Security.SecureString -> byte[]
[<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[]
Public Overridable Function Export (contentType As X509ContentType, password As SecureString) As Byte()

參數

contentType
X509ContentType

其中一個 X509ContentType 值,其描述如何格式化輸出資料。One of the X509ContentType values that describes how to format the output data.

password
SecureString

存取 X.509 憑證資料所需的密碼。The password required to access the X.509 certificate data.

傳回

Byte[]

位元組的陣列,表示目前的 X509Certificate 物件。A byte array that represents the current X509Certificate object.

屬性

例外狀況

CertSerializedCertPkcs12 以外的值傳遞至 contentType 參數。A value other than Cert, SerializedCert, or Pkcs12 was passed to the contentType parameter.

-或--or- 無法匯出憑證。The certificate could not be exported.

備註

contentType參數只接受下列 X509ContentType 列舉值: CertSerializedCertPkcs12The contentType parameter accepts only the following values of the X509ContentType enumeration: Cert, SerializedCert, and Pkcs12. 傳遞任何其他值會導致擲回 CryptographicExceptionPassing any other value causes a CryptographicException to be thrown.

重要

請勿在原始程式碼中將密碼硬編碼。Never hard code a password within your source code. 您可以使用 Ildasm.exe (IL 解譯器) 、十六進位編輯器,或直接在文字編輯器(例如 Notepad.exe)中開啟元件,從元件中取出硬式編碼的密碼。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.

適用於

Export(X509ContentType, String)

以其中一個 X509Certificate 值所描述的格式,並使用指定的密碼,將目前的 X509ContentType 物件匯出至位元組陣列。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);
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 值,其描述如何格式化輸出資料。One of the X509ContentType values that describes how to format the output data.

password
String

存取 X.509 憑證資料所需的密碼。The password required to access the X.509 certificate data.

傳回

Byte[]

位元組的陣列,表示目前的 X509Certificate 物件。An array of bytes that represents the current X509Certificate object.

屬性

例外狀況

CertSerializedCertPkcs12 以外的值傳遞至 contentType 參數。A value other than Cert, SerializedCert, or Pkcs12 was passed to the contentType parameter.

-或--or- 無法匯出憑證。The certificate could not be exported.

備註

contentType參數只接受下列 X509ContentType 列舉值: CertSerializedCertPkcs12The contentType parameter accepts only the following values of the X509ContentType enumeration: Cert, SerializedCert, and Pkcs12. 傳遞任何其他值會導致擲回 CryptographicExceptionPassing any other value causes a CryptographicException to be thrown.

重要

請勿在原始程式碼中將密碼硬編碼。Never hard code a password within your source code. 您可以使用 Ildasm.exe (IL 解譯器) 、十六進位編輯器,或直接在文字編輯器(例如 Notepad.exe)中開啟元件,從元件中取出硬式編碼的密碼。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.

適用於