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

參數

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.

安全性

KeyContainerPermission
當您將 SerializedCert 值傳遞給 contentType 參數時,開啟金鑰容器和匯出憑證的許可權。for permission to open a key container and export a certificate when you pass the SerializedCert value to the contentType parameter. 安全性動作: DemandSecurity action: Demand. 相關聯的列舉: OpenExportAssociated enumerations: Open, Export

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

參數

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. 您可以使用 tlbimp.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.

安全性

KeyContainerPermission
當您將 SerializedCert 值傳遞給 contentType 參數時,開啟金鑰容器和匯出憑證的許可權。for permission to open a key container and export a certificate when you pass the SerializedCert value to the contentType parameter. 安全性動作: DemandSecurity action: Demand. 相關聯的列舉: OpenExportAssociated enumerations: Open, Export

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

參數

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. 您可以使用 tlbimp.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.

安全性

KeyContainerPermission
當您將 SerializedCert 值傳遞給 contentType 參數時,開啟金鑰容器和匯出憑證的許可權。for permission to open a key container and export a certificate when you pass the SerializedCert value to the contentType parameter. 安全性動作: DemandSecurity action: Demand. 相關聯的列舉: OpenExportAssociated enumerations: Open, Export

適用於