X509Certificate2 Конструкторы

Определение

Инициализирует новый экземпляр класса X509Certificate2.Initializes a new instance of the X509Certificate2 class.

Перегрузки

X509Certificate2()

Инициализирует новый экземпляр класса X509Certificate2.Initializes a new instance of the X509Certificate2 class.

X509Certificate2(String, String, X509KeyStorageFlags)

Инициализирует новый экземпляр класса X509Certificate2 с использованием имени файла сертификата и пароля для доступа к сертификату, а также флага хранилища ключа.Initializes a new instance of the X509Certificate2 class using a certificate file name, a password used to access the certificate, and a key storage flag.

X509Certificate2(String, SecureString, X509KeyStorageFlags)

Инициализирует новый экземпляр класса X509Certificate2 с использованием имени файла сертификата, пароля и флага хранилища ключа.Initializes a new instance of the X509Certificate2 class using a certificate file name, a password, and a key storage flag.

X509Certificate2(String, ReadOnlySpan<Char>, X509KeyStorageFlags)

Инициализирует новый экземпляр класса X509Certificate2 с использованием имени файла сертификата, пароля и флага хранилища ключа.Initializes a new instance of the X509Certificate2 class using a certificate file name, a password, and a key storage flag.

X509Certificate2(ReadOnlySpan<Byte>, ReadOnlySpan<Char>, X509KeyStorageFlags)

Инициализирует новый экземпляр класса X509Certificate2 на основе данных сертификата, пароля и флагов хранилища ключа.Initializes a new instance of the X509Certificate2 class from certificate data, a password, and key storage flags.

X509Certificate2(Byte[], SecureString, X509KeyStorageFlags)

Инициализирует новый экземпляр класса X509Certificate2 с использованием массива байтов, пароля и флага хранилища ключей.Initializes a new instance of the X509Certificate2 class using a byte array, a password, and a key storage flag.

X509Certificate2(String, String)

Инициализирует новый экземпляр класса X509Certificate2, используя имя файла сертификата и пароль для доступа к сертификату.Initializes a new instance of the X509Certificate2 class using a certificate file name and a password used to access the certificate.

X509Certificate2(String, SecureString)

Инициализирует новый экземпляр класса X509Certificate2 с использованием имени файла сертификата и пароля.Initializes a new instance of the X509Certificate2 class using a certificate file name and a password.

X509Certificate2(Byte[], String, X509KeyStorageFlags)

Инициализирует новый экземпляр класса X509Certificate2 с использованием массива байтов, пароля и флага хранилища ключей.Initializes a new instance of the X509Certificate2 class using a byte array, a password, and a key storage flag.

X509Certificate2(Byte[], String)

Инициализирует новый экземпляр класса X509Certificate2 с использованием массива байтов и пароля.Initializes a new instance of the X509Certificate2 class using a byte array and a password.

X509Certificate2(Byte[], SecureString)

Инициализирует новый экземпляр класса X509Certificate2 с использованием массива байтов и пароля.Initializes a new instance of the X509Certificate2 class using a byte array and a password.

X509Certificate2(String)

Инициализирует новый экземпляр класса X509Certificate2 с помощью имени файла сертификата.Initializes a new instance of the X509Certificate2 class using a certificate file name.

X509Certificate2(SerializationInfo, StreamingContext)

Инициализирует новый экземпляр класса X509Certificate2, используя заданную информацию о сериализации и контексте потоков.Initializes a new instance of the X509Certificate2 class using the specified serialization and stream context information.

X509Certificate2(X509Certificate)

Инициализирует новый экземпляр класса X509Certificate2 с помощью объекта X509Certificate.Initializes a new instance of the X509Certificate2 class using an X509Certificate object.

X509Certificate2(ReadOnlySpan<Byte>)

Инициализирует новый экземпляр класса X509Certificate2 на основе данных сертификата.Initializes a new instance of the X509Certificate2 class from certificate data.

X509Certificate2(IntPtr)

Инициализирует новый экземпляр класса X509Certificate2 с помощью неуправляемого дескриптора.Initializes a new instance of the X509Certificate2 class using an unmanaged handle.

X509Certificate2(Byte[])

Инициализирует новый экземпляр класса X509Certificate2 с использованием информации из указанного массива байтов.Initializes a new instance of the X509Certificate2 class using information from a byte array.

X509Certificate2()

Инициализирует новый экземпляр класса X509Certificate2.Initializes a new instance of the X509Certificate2 class.

public:
 X509Certificate2();
public X509Certificate2 ();
Public Sub New ()

Примеры

В следующем примере кода открывается хранилище сертификатов текущего пользователя, выбираются только активные сертификаты, а затем пользователю предоставляется возможность выбрать один или несколько сертификатов.The following code example opens the current user certificate store, selects only active certificates, then allows the user to select one or more certificates. Затем в примере в консоль записываются сведения о сертификате.The example then writes certificate information to the console.

#using <System.dll>
#using <System.Security.dll>

using namespace System;
using namespace System::Security::Cryptography;
using namespace System::Security::Permissions;
using namespace System::IO;
using namespace System::Security::Cryptography::X509Certificates;
int main()
{
   try
   {
      X509Store ^ store = gcnew X509Store( "MY",StoreLocation::CurrentUser );
      store->Open( static_cast<OpenFlags>(OpenFlags::ReadOnly | OpenFlags::OpenExistingOnly) );
      X509Certificate2Collection ^ collection = dynamic_cast<X509Certificate2Collection^>(store->Certificates);
      X509Certificate2Collection ^ fcollection = dynamic_cast<X509Certificate2Collection^>(collection->Find( X509FindType::FindByTimeValid, DateTime::Now, false ));
      X509Certificate2Collection ^ scollection = X509Certificate2UI::SelectFromCollection(fcollection, "Test Certificate Select","Select a certificate from the following list to get information on that certificate",X509SelectionFlag::MultiSelection);
      Console::WriteLine( "Number of certificates: {0}{1}", scollection->Count, Environment::NewLine );
      System::Collections::IEnumerator^ myEnum = scollection->GetEnumerator();
      while ( myEnum->MoveNext() )
      {
         X509Certificate2 ^ x509 = safe_cast<X509Certificate2 ^>(myEnum->Current);
         array<Byte>^rawdata = x509->RawData;
         Console::WriteLine( "Content Type: {0}{1}", X509Certificate2::GetCertContentType( rawdata ), Environment::NewLine );
         Console::WriteLine( "Friendly Name: {0}{1}", x509->FriendlyName, Environment::NewLine );
         Console::WriteLine( "Certificate Verified?: {0}{1}", x509->Verify(), Environment::NewLine );
         Console::WriteLine( "Simple Name: {0}{1}", x509->GetNameInfo( X509NameType::SimpleName, true ), Environment::NewLine );
         Console::WriteLine( "Signature Algorithm: {0}{1}", x509->SignatureAlgorithm->FriendlyName, Environment::NewLine );
         Console::WriteLine( "Private Key: {0}{1}", x509->PrivateKey->ToXmlString( false ), Environment::NewLine );
         Console::WriteLine( "Public Key: {0}{1}", x509->PublicKey->Key->ToXmlString( false ), Environment::NewLine );
         Console::WriteLine( "Certificate Archived?: {0}{1}", x509->Archived, Environment::NewLine );
         Console::WriteLine( "Length of Raw Data: {0}{1}", x509->RawData->Length, Environment::NewLine );
         x509->Reset();
      }
      store->Close();
   }
   catch ( CryptographicException^ ) 
   {
      Console::WriteLine( "Information could not be written out for this certificate." );
   }

}

using System;
using System.Security.Cryptography;
using System.Security.Permissions;
using System.IO;
using System.Security.Cryptography.X509Certificates;

class CertSelect
{
    static void Main()
    {
        X509Store store = new X509Store("MY",StoreLocation.CurrentUser);
        store.Open(OpenFlags.ReadOnly | OpenFlags.OpenExistingOnly);

        X509Certificate2Collection collection = (X509Certificate2Collection)store.Certificates;
        X509Certificate2Collection fcollection = (X509Certificate2Collection)collection.Find(X509FindType.FindByTimeValid,DateTime.Now,false);
        X509Certificate2Collection scollection = X509Certificate2UI.SelectFromCollection(fcollection, "Test Certificate Select","Select a certificate from the following list to get information on that certificate",X509SelectionFlag.MultiSelection);
        Console.WriteLine("Number of certificates: {0}{1}",scollection.Count,Environment.NewLine);

        foreach (X509Certificate2 x509 in scollection)
        {
            try
            {
                byte[] rawdata = x509.RawData;
                Console.WriteLine("Content Type: {0}{1}",X509Certificate2.GetCertContentType(rawdata),Environment.NewLine);
                Console.WriteLine("Friendly Name: {0}{1}",x509.FriendlyName,Environment.NewLine);
                Console.WriteLine("Certificate Verified?: {0}{1}",x509.Verify(),Environment.NewLine);
                Console.WriteLine("Simple Name: {0}{1}",x509.GetNameInfo(X509NameType.SimpleName,true),Environment.NewLine);
                Console.WriteLine("Signature Algorithm: {0}{1}",x509.SignatureAlgorithm.FriendlyName,Environment.NewLine);
                Console.WriteLine("Public Key: {0}{1}",x509.PublicKey.Key.ToXmlString(false),Environment.NewLine);
                Console.WriteLine("Certificate Archived?: {0}{1}",x509.Archived,Environment.NewLine);
                Console.WriteLine("Length of Raw Data: {0}{1}",x509.RawData.Length,Environment.NewLine);
                X509Certificate2UI.DisplayCertificate(x509);
                x509.Reset();
            }
            catch (CryptographicException)
            {
                Console.WriteLine("Information could not be written out for this certificate.");
            }
        }
        store.Close();
    }
}
Imports System.Security.Cryptography
Imports System.Security.Permissions
Imports System.IO
Imports System.Security.Cryptography.X509Certificates

Class CertSelect

    Shared Sub Main()

        Dim store As New X509Store("MY", StoreLocation.CurrentUser)
        store.Open(OpenFlags.ReadOnly Or OpenFlags.OpenExistingOnly)

        Dim collection As X509Certificate2Collection = CType(store.Certificates, X509Certificate2Collection)
        Dim fcollection As X509Certificate2Collection = CType(collection.Find(X509FindType.FindByTimeValid, DateTime.Now, False), X509Certificate2Collection)
        Dim scollection As X509Certificate2Collection = X509Certificate2UI.SelectFromCollection(fcollection, "Test Certificate Select", "Select a certificate from the following list to get information on that certificate", X509SelectionFlag.MultiSelection)
        Console.WriteLine("Number of certificates: {0}{1}", scollection.Count, Environment.NewLine)
         
        For Each x509 As X509Certificate2 In scollection
            Try
                Dim rawdata As Byte() = x509.RawData
                Console.WriteLine("Content Type: {0}{1}", X509Certificate2.GetCertContentType(rawdata), Environment.NewLine)
                Console.WriteLine("Friendly Name: {0}{1}", x509.FriendlyName, Environment.NewLine)
                Console.WriteLine("Certificate Verified?: {0}{1}", x509.Verify(), Environment.NewLine)
                Console.WriteLine("Simple Name: {0}{1}", x509.GetNameInfo(X509NameType.SimpleName, True), Environment.NewLine)
                Console.WriteLine("Signature Algorithm: {0}{1}", x509.SignatureAlgorithm.FriendlyName, Environment.NewLine)
                Console.WriteLine("Public Key: {0}{1}", x509.PublicKey.Key.ToXmlString(False), Environment.NewLine)
                Console.WriteLine("Certificate Archived?: {0}{1}", x509.Archived, Environment.NewLine)
                Console.WriteLine("Length of Raw Data: {0}{1}", x509.RawData.Length, Environment.NewLine)
                X509Certificate2UI.DisplayCertificate(x509)
                x509.Reset()         
             Catch cExcept As CryptographicException
                 Console.WriteLine("Information could not be written out for this certificate.")
             End Try
        Next x509

        store.Close()
    End Sub
End Class

Комментарии

Этот конструктор создает пустой X509Certificate2 объект, в отличие от других конструкторов для этого класса, которые используют сведения о сертификате из массива байтов, указателя или файла сертификата.This constructor creates an empty X509Certificate2 object, unlike the other constructors for this class that use certificate information from a byte array, a pointer, or a certificate file.

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

X509Certificate2(String, String, X509KeyStorageFlags)

Инициализирует новый экземпляр класса X509Certificate2 с использованием имени файла сертификата и пароля для доступа к сертификату, а также флага хранилища ключа.Initializes a new instance of the X509Certificate2 class using a certificate file name, a password used to access the certificate, and a key storage flag.

public:
 X509Certificate2(System::String ^ fileName, System::String ^ password, System::Security::Cryptography::X509Certificates::X509KeyStorageFlags keyStorageFlags);
public X509Certificate2 (string fileName, string? password, System.Security.Cryptography.X509Certificates.X509KeyStorageFlags keyStorageFlags);
public X509Certificate2 (string fileName, string password, System.Security.Cryptography.X509Certificates.X509KeyStorageFlags keyStorageFlags);
new System.Security.Cryptography.X509Certificates.X509Certificate2 : string * string * System.Security.Cryptography.X509Certificates.X509KeyStorageFlags -> System.Security.Cryptography.X509Certificates.X509Certificate2
Public Sub New (fileName As String, password As String, keyStorageFlags As X509KeyStorageFlags)

Параметры

fileName
String

Имя файла сертификата.The name of a certificate file.

password
String

Пароль для доступа к данным сертификата X.509.The password required to access the X.509 certificate data.

keyStorageFlags
X509KeyStorageFlags

Поразрядное сочетание значений перечисления, определяющих, где и как следует импортировать сертификат.A bitwise combination of the enumeration values that control where and how to import the certificate.

Исключения

Произошла ошибка сертификата.An error with the certificate occurs. Пример:For example:

– Заданный файл сертификата не существует.- The certificate file does not exist.

— Сертификат недействителен.- The certificate is invalid.

— Пароль сертификата неверен.- The certificate's password is incorrect.

Комментарии

Этот конструктор создает новый X509Certificate2 объект, используя имя файла сертификата, пароль, необходимый для доступа к сертификату, и флаг хранилища ключей.This constructor creates a new X509Certificate2 object using a certificate file name, a password needed to access the certificate, and a key storage flag.

Важно!

Никогда не следует жестко кодировать пароль в исходном коде.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 up the assembly in a text editor such as Notepad.exe.

Если X509Certificate2 сертификат создается путем указания хранилища файлов с подписью PKCS7 для fileName , X509Certificate2 создается для сертификата, который подписал хранилище, а не для всех сертификатов в хранилище.If you create an X509Certificate2 certificate by specifying a PKCS7 signed file store for fileName, the X509Certificate2 is created for the certificate that signed the store rather than for any of the certificates within the store.

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

X509Certificate2(String, SecureString, X509KeyStorageFlags)

Важно!

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

Инициализирует новый экземпляр класса X509Certificate2 с использованием имени файла сертификата, пароля и флага хранилища ключа.Initializes a new instance of the X509Certificate2 class using a certificate file name, a password, and a key storage flag.

public:
 X509Certificate2(System::String ^ fileName, System::Security::SecureString ^ password, System::Security::Cryptography::X509Certificates::X509KeyStorageFlags keyStorageFlags);
[System.CLSCompliant(false)]
public X509Certificate2 (string fileName, System.Security.SecureString? password, System.Security.Cryptography.X509Certificates.X509KeyStorageFlags keyStorageFlags);
[System.CLSCompliant(false)]
public X509Certificate2 (string fileName, System.Security.SecureString password, System.Security.Cryptography.X509Certificates.X509KeyStorageFlags keyStorageFlags);
public X509Certificate2 (string fileName, System.Security.SecureString password, System.Security.Cryptography.X509Certificates.X509KeyStorageFlags keyStorageFlags);
[<System.CLSCompliant(false)>]
new System.Security.Cryptography.X509Certificates.X509Certificate2 : string * System.Security.SecureString * System.Security.Cryptography.X509Certificates.X509KeyStorageFlags -> System.Security.Cryptography.X509Certificates.X509Certificate2
new System.Security.Cryptography.X509Certificates.X509Certificate2 : string * System.Security.SecureString * System.Security.Cryptography.X509Certificates.X509KeyStorageFlags -> System.Security.Cryptography.X509Certificates.X509Certificate2
Public Sub New (fileName As String, password As SecureString, keyStorageFlags As X509KeyStorageFlags)

Параметры

fileName
String

Имя файла сертификата.The name of a certificate file.

password
SecureString

Пароль для доступа к данным сертификата X.509.The password required to access the X.509 certificate data.

keyStorageFlags
X509KeyStorageFlags

Поразрядное сочетание значений перечисления, определяющих, где и как следует импортировать сертификат.A bitwise combination of the enumeration values that control where and how to import the certificate.

Атрибуты

Исключения

Произошла ошибка сертификата.An error with the certificate occurs. Пример:For example:

– Заданный файл сертификата не существует.- The certificate file does not exist.

— Сертификат недействителен.- The certificate is invalid.

— Пароль сертификата неверен.- The certificate's password is incorrect.

Комментарии

Если X509Certificate сертификат создается путем указания хранилища файлов с подписью PKCS7 для fileName , X509Certificate создается для сертификата, который подписал хранилище, а не для всех сертификатов в хранилище.If you create an X509Certificate certificate by specifying a PKCS7 signed file store for fileName, the X509Certificate is created for the certificate that signed the store rather than for any of the certificates within the store.

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

X509Certificate2(String, ReadOnlySpan<Char>, X509KeyStorageFlags)

Инициализирует новый экземпляр класса X509Certificate2 с использованием имени файла сертификата, пароля и флага хранилища ключа.Initializes a new instance of the X509Certificate2 class using a certificate file name, a password, and a key storage flag.

public X509Certificate2 (string fileName, ReadOnlySpan<char> password, System.Security.Cryptography.X509Certificates.X509KeyStorageFlags keyStorageFlags = System.Security.Cryptography.X509Certificates.X509KeyStorageFlags.DefaultKeySet);
new System.Security.Cryptography.X509Certificates.X509Certificate2 : string * ReadOnlySpan<char> * System.Security.Cryptography.X509Certificates.X509KeyStorageFlags -> System.Security.Cryptography.X509Certificates.X509Certificate2
Public Sub New (fileName As String, password As ReadOnlySpan(Of Char), Optional keyStorageFlags As X509KeyStorageFlags = System.Security.Cryptography.X509Certificates.X509KeyStorageFlags.DefaultKeySet)

Параметры

fileName
String

Имя файла сертификата.The name of a certificate file.

password
ReadOnlySpan<Char>

Пароль для доступа к данным сертификата X.509.The password required to access the X.509 certificate data.

keyStorageFlags
X509KeyStorageFlags

Поразрядное сочетание значений перечисления, определяющих, где и как следует импортировать сертификат.A bitwise combination of the enumeration values that control where and how to import the certificate.

Исключения

Произошла ошибка сертификата.An error with the certificate occurs. Пример:For example:

– Заданный файл сертификата не существует.- The certificate file does not exist.

— Сертификат недействителен.- The certificate is invalid.

— Пароль сертификата неверен.- The certificate's password is incorrect.

Комментарии

Важно!

Никогда не следует жестко кодировать пароль в исходном коде.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 up the assembly in a text editor such as Notepad.exe.

Если X509Certificate2 сертификат создается путем указания хранилища файлов с подписью PKCS7 для fileName , X509Certificate2 создается для сертификата, который подписал хранилище, а не для всех сертификатов в хранилище.If you create an X509Certificate2 certificate by specifying a PKCS7 signed file store for fileName, the X509Certificate2 is created for the certificate that signed the store rather than for any of the certificates within the store.

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

X509Certificate2(ReadOnlySpan<Byte>, ReadOnlySpan<Char>, X509KeyStorageFlags)

Инициализирует новый экземпляр класса X509Certificate2 на основе данных сертификата, пароля и флагов хранилища ключа.Initializes a new instance of the X509Certificate2 class from certificate data, a password, and key storage flags.

public X509Certificate2 (ReadOnlySpan<byte> rawData, ReadOnlySpan<char> password, System.Security.Cryptography.X509Certificates.X509KeyStorageFlags keyStorageFlags = System.Security.Cryptography.X509Certificates.X509KeyStorageFlags.DefaultKeySet);
new System.Security.Cryptography.X509Certificates.X509Certificate2 : ReadOnlySpan<byte> * ReadOnlySpan<char> * System.Security.Cryptography.X509Certificates.X509KeyStorageFlags -> System.Security.Cryptography.X509Certificates.X509Certificate2
Public Sub New (rawData As ReadOnlySpan(Of Byte), password As ReadOnlySpan(Of Char), Optional keyStorageFlags As X509KeyStorageFlags = System.Security.Cryptography.X509Certificates.X509KeyStorageFlags.DefaultKeySet)

Параметры

rawData
ReadOnlySpan<Byte>

Данные сертификата для обработки.The certificate data to process.

password
ReadOnlySpan<Char>

Пароль для доступа к данным сертификата.The password required to access the certificate data.

keyStorageFlags
X509KeyStorageFlags

Поразрядное сочетание значений перечисления, определяющих, где и как следует импортировать сертификат.A bitwise combination of the enumeration values that control where and how to import the certificate.

Исключения

Произошла ошибка сертификата.An error with the certificate occurs.

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

X509Certificate2(Byte[], SecureString, X509KeyStorageFlags)

Важно!

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

Инициализирует новый экземпляр класса X509Certificate2 с использованием массива байтов, пароля и флага хранилища ключей.Initializes a new instance of the X509Certificate2 class using a byte array, a password, and a key storage flag.

public:
 X509Certificate2(cli::array <System::Byte> ^ rawData, System::Security::SecureString ^ password, System::Security::Cryptography::X509Certificates::X509KeyStorageFlags keyStorageFlags);
[System.CLSCompliant(false)]
public X509Certificate2 (byte[] rawData, System.Security.SecureString? password, System.Security.Cryptography.X509Certificates.X509KeyStorageFlags keyStorageFlags);
[System.CLSCompliant(false)]
public X509Certificate2 (byte[] rawData, System.Security.SecureString password, System.Security.Cryptography.X509Certificates.X509KeyStorageFlags keyStorageFlags);
public X509Certificate2 (byte[] rawData, System.Security.SecureString password, System.Security.Cryptography.X509Certificates.X509KeyStorageFlags keyStorageFlags);
[<System.CLSCompliant(false)>]
new System.Security.Cryptography.X509Certificates.X509Certificate2 : byte[] * System.Security.SecureString * System.Security.Cryptography.X509Certificates.X509KeyStorageFlags -> System.Security.Cryptography.X509Certificates.X509Certificate2
new System.Security.Cryptography.X509Certificates.X509Certificate2 : byte[] * System.Security.SecureString * System.Security.Cryptography.X509Certificates.X509KeyStorageFlags -> System.Security.Cryptography.X509Certificates.X509Certificate2
Public Sub New (rawData As Byte(), password As SecureString, keyStorageFlags As X509KeyStorageFlags)

Параметры

rawData
Byte[]

Массив байтов, содержащий данные из сертификата X.509.A byte array that contains data from an X.509 certificate.

password
SecureString

Пароль для доступа к данным сертификата X.509.The password required to access the X.509 certificate data.

keyStorageFlags
X509KeyStorageFlags

Поразрядное сочетание значений перечисления, определяющих, где и как следует импортировать сертификат.A bitwise combination of the enumeration values that control where and how to import the certificate.

Атрибуты

Исключения

Произошла ошибка сертификата.An error with the certificate occurs. Пример:For example:

– Заданный файл сертификата не существует.- The certificate file does not exist.

— Сертификат недействителен.- The certificate is invalid.

— Пароль сертификата неверен.- The certificate's password is incorrect.

Комментарии

Этот конструктор используется с файлами PKCS12 (PFX), которые содержат закрытый ключ сертификата.This constructor is used with PKCS12 (PFX) files that contain the certificate's private key. При вызове этого конструктора с правильным паролем закрытый ключ расшифровывается и сохраняется в поставщике служб шифрования Microsoft Cryptographic API (CSP).Calling this constructor with the correct password decrypts the private key and saves it to a Microsoft Cryptographic API Cryptographic Service Provider (CSP).

Важно!

Никогда не следует жестко кодировать пароль в исходном коде.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 up the assembly in a text editor such as Notepad.exe.

Если X509Certificate сертификат создается путем указания хранилища файлов с подписью PKCS7 для rawData , X509Certificate создается для сертификата, который подписал хранилище, а не для всех сертификатов в хранилище.If you create an X509Certificate certificate by specifying a PKCS7 signed file store for rawData, the X509Certificate is created for the certificate that signed the store rather than for any of the certificates within the store.

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

X509Certificate2(String, String)

Инициализирует новый экземпляр класса X509Certificate2, используя имя файла сертификата и пароль для доступа к сертификату.Initializes a new instance of the X509Certificate2 class using a certificate file name and a password used to access the certificate.

public:
 X509Certificate2(System::String ^ fileName, System::String ^ password);
public X509Certificate2 (string fileName, string? password);
public X509Certificate2 (string fileName, string password);
new System.Security.Cryptography.X509Certificates.X509Certificate2 : string * string -> System.Security.Cryptography.X509Certificates.X509Certificate2
Public Sub New (fileName As String, password As String)

Параметры

fileName
String

Имя файла сертификата.The name of a certificate file.

password
String

Пароль для доступа к данным сертификата X.509.The password required to access the X.509 certificate data.

Исключения

Произошла ошибка сертификата.An error with the certificate occurs. Пример:For example:

– Заданный файл сертификата не существует.- The certificate file does not exist.

— Сертификат недействителен.- The certificate is invalid.

— Пароль сертификата неверен.- The certificate's password is incorrect.

Комментарии

Этот конструктор создает новый X509Certificate2 объект, используя имя файла сертификата и пароль, необходимые для доступа к сертификату.This constructor creates a new X509Certificate2 object using a certificate file name and a password needed to access the certificate. Он используется с файлами PKCS12 (PFX), содержащими закрытый ключ сертификата.It is used with PKCS12 (PFX) files that contain the certificate's private key. При вызове этого конструктора с правильным паролем закрытый ключ расшифровывается и сохраняется в контейнере ключей.Calling this constructor with the correct password decrypts the private key and saves it to a key container.

Важно!

Никогда не следует жестко кодировать пароль в исходном коде.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 up the assembly in a text editor such as Notepad.exe.

Если X509Certificate2 сертификат создается путем указания хранилища файлов с подписью PKCS7 для fileName , X509Certificate2 создается для сертификата, который подписал хранилище, а не для всех сертификатов в хранилище.If you create an X509Certificate2 certificate by specifying a PKCS7 signed file store for fileName, the X509Certificate2 is created for the certificate that signed the store rather than for any of the certificates within the store.

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

X509Certificate2(String, SecureString)

Важно!

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

Инициализирует новый экземпляр класса X509Certificate2 с использованием имени файла сертификата и пароля.Initializes a new instance of the X509Certificate2 class using a certificate file name and a password.

public:
 X509Certificate2(System::String ^ fileName, System::Security::SecureString ^ password);
[System.CLSCompliant(false)]
public X509Certificate2 (string fileName, System.Security.SecureString? password);
[System.CLSCompliant(false)]
public X509Certificate2 (string fileName, System.Security.SecureString password);
public X509Certificate2 (string fileName, System.Security.SecureString password);
[<System.CLSCompliant(false)>]
new System.Security.Cryptography.X509Certificates.X509Certificate2 : string * System.Security.SecureString -> System.Security.Cryptography.X509Certificates.X509Certificate2
new System.Security.Cryptography.X509Certificates.X509Certificate2 : string * System.Security.SecureString -> System.Security.Cryptography.X509Certificates.X509Certificate2
Public Sub New (fileName As String, password As SecureString)

Параметры

fileName
String

Имя файла сертификата.The name of a certificate file.

password
SecureString

Пароль для доступа к данным сертификата X.509.The password required to access the X.509 certificate data.

Атрибуты

Исключения

Произошла ошибка сертификата.An error with the certificate occurs. Пример:For example:

– Заданный файл сертификата не существует.- The certificate file does not exist.

— Сертификат недействителен.- The certificate is invalid.

— Пароль сертификата неверен.- The certificate's password is incorrect.

Комментарии

Этот конструктор используется с файлами PKCS12 (PFX), которые содержат закрытый ключ сертификата.This constructor is used with PKCS12 (PFX) files that contain the certificate's private key. При вызове этого конструктора с правильным паролем закрытый ключ расшифровывается и сохраняется в контейнере ключей.Calling this constructor with the correct password decrypts the private key and saves it to a key container.

Важно!

Никогда не следует жестко кодировать пароль в исходном коде.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 up the assembly in a text editor such as Notepad.exe.

Если X509Certificate сертификат создается путем указания хранилища файлов с подписью PKCS7 для fileName , X509Certificate создается для сертификата, который подписал хранилище, а не для всех сертификатов в хранилище.If you create an X509Certificate certificate by specifying a PKCS7 signed file store for fileName, the X509Certificate is created for the certificate that signed the store rather than for any of the certificates within the store.

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

X509Certificate2(Byte[], String, X509KeyStorageFlags)

Инициализирует новый экземпляр класса X509Certificate2 с использованием массива байтов, пароля и флага хранилища ключей.Initializes a new instance of the X509Certificate2 class using a byte array, a password, and a key storage flag.

public:
 X509Certificate2(cli::array <System::Byte> ^ rawData, System::String ^ password, System::Security::Cryptography::X509Certificates::X509KeyStorageFlags keyStorageFlags);
public X509Certificate2 (byte[] rawData, string? password, System.Security.Cryptography.X509Certificates.X509KeyStorageFlags keyStorageFlags);
public X509Certificate2 (byte[] rawData, string password, System.Security.Cryptography.X509Certificates.X509KeyStorageFlags keyStorageFlags);
new System.Security.Cryptography.X509Certificates.X509Certificate2 : byte[] * string * System.Security.Cryptography.X509Certificates.X509KeyStorageFlags -> System.Security.Cryptography.X509Certificates.X509Certificate2
Public Sub New (rawData As Byte(), password As String, keyStorageFlags As X509KeyStorageFlags)

Параметры

rawData
Byte[]

Массив байтов, содержащий данные сертификата X.509.A byte array containing data from an X.509 certificate.

password
String

Пароль для доступа к данным сертификата X.509.The password required to access the X.509 certificate data.

keyStorageFlags
X509KeyStorageFlags

Поразрядное сочетание значений перечисления, определяющих, где и как следует импортировать сертификат.A bitwise combination of the enumeration values that control where and how to import the certificate.

Исключения

Произошла ошибка сертификата.An error with the certificate occurs. Пример:For example:

– Заданный файл сертификата не существует.- The certificate file does not exist.

— Сертификат недействителен.- The certificate is invalid.

— Пароль сертификата неверен.- The certificate's password is incorrect.

Комментарии

Этот конструктор создает новый X509Certificate2 объект, используя массив байтов, пароль, необходимый для доступа к данным сертификата, и флаг хранилища ключей.This constructor creates a new X509Certificate2 object using a byte array, a password that is needed to access the certificate data, and a key storage flag. Он используется с файлами PKCS12 (PFX), содержащими закрытый ключ сертификата.It is used with PKCS12 (PFX) files that contain the certificate's private key. При вызове этого конструктора с правильным паролем закрытый ключ расшифровывается и сохраняется в поставщике служб шифрования Microsoft Cryptographic API (CSP).Calling this constructor with the correct password decrypts the private key and saves it to a Microsoft Cryptographic API Cryptographic Service Provider (CSP).

Важно!

Никогда не следует жестко кодировать пароль в исходном коде.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 up the assembly in a text editor such as Notepad.exe.

Если X509Certificate2 сертификат создается путем указания хранилища файлов с подписью PKCS7 для rawData , X509Certificate2 создается для сертификата, который подписал хранилище, а не для всех сертификатов в хранилище.If you create an X509Certificate2 certificate by specifying a PKCS7 signed file store for rawData, the X509Certificate2 is created for the certificate that signed the store rather than for any of the certificates within the store.

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

X509Certificate2(Byte[], String)

Инициализирует новый экземпляр класса X509Certificate2 с использованием массива байтов и пароля.Initializes a new instance of the X509Certificate2 class using a byte array and a password.

public:
 X509Certificate2(cli::array <System::Byte> ^ rawData, System::String ^ password);
public X509Certificate2 (byte[] rawData, string? password);
public X509Certificate2 (byte[] rawData, string password);
new System.Security.Cryptography.X509Certificates.X509Certificate2 : byte[] * string -> System.Security.Cryptography.X509Certificates.X509Certificate2
Public Sub New (rawData As Byte(), password As String)

Параметры

rawData
Byte[]

Массив байтов, содержащий данные сертификата X.509.A byte array containing data from an X.509 certificate.

password
String

Пароль для доступа к данным сертификата X.509.The password required to access the X.509 certificate data.

Исключения

Произошла ошибка сертификата.An error with the certificate occurs. Пример:For example:

– Заданный файл сертификата не существует.- The certificate file does not exist.

— Сертификат недействителен.- The certificate is invalid.

— Пароль сертификата неверен.- The certificate's password is incorrect.

Комментарии

Этот конструктор создает новый X509Certificate2 объект, используя массив байтов и пароль, необходимый для доступа к данным сертификата.This constructor creates a new X509Certificate2 object using a byte array and a password that is needed to access the certificate data. Он используется с файлами PKCS12 (PFX), содержащими закрытый ключ сертификата.It is used with PKCS12 (PFX) files that contain the certificate's private key. При вызове этого конструктора с правильным паролем закрытый ключ расшифровывается и сохраняется в контейнере ключей.Calling this constructor with the correct password decrypts the private key and saves it to a key container.

Важно!

Никогда не следует жестко кодировать пароль в исходном коде.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 up the assembly in a text editor such as Notepad.exe.

Если X509Certificate2 сертификат создается путем указания хранилища файлов с подписью PKCS7 для rawData , X509Certificate2 создается для сертификата, который подписал хранилище, а не для всех сертификатов в хранилище.If you create an X509Certificate2 certificate by specifying a PKCS7 signed file store for rawData, the X509Certificate2 is created for the certificate that signed the store rather than for any of the certificates within the store.

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

X509Certificate2(Byte[], SecureString)

Важно!

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

Инициализирует новый экземпляр класса X509Certificate2 с использованием массива байтов и пароля.Initializes a new instance of the X509Certificate2 class using a byte array and a password.

public:
 X509Certificate2(cli::array <System::Byte> ^ rawData, System::Security::SecureString ^ password);
[System.CLSCompliant(false)]
public X509Certificate2 (byte[] rawData, System.Security.SecureString? password);
[System.CLSCompliant(false)]
public X509Certificate2 (byte[] rawData, System.Security.SecureString password);
public X509Certificate2 (byte[] rawData, System.Security.SecureString password);
[<System.CLSCompliant(false)>]
new System.Security.Cryptography.X509Certificates.X509Certificate2 : byte[] * System.Security.SecureString -> System.Security.Cryptography.X509Certificates.X509Certificate2
new System.Security.Cryptography.X509Certificates.X509Certificate2 : byte[] * System.Security.SecureString -> System.Security.Cryptography.X509Certificates.X509Certificate2
Public Sub New (rawData As Byte(), password As SecureString)

Параметры

rawData
Byte[]

Массив байтов, содержащий данные из сертификата X.509.A byte array that contains data from an X.509 certificate.

password
SecureString

Пароль для доступа к данным сертификата X.509.The password required to access the X.509 certificate data.

Атрибуты

Исключения

Произошла ошибка сертификата.An error with the certificate occurs. Пример:For example:

– Заданный файл сертификата не существует.- The certificate file does not exist.

— Сертификат недействителен.- The certificate is invalid.

— Пароль сертификата неверен.- The certificate's password is incorrect.

Комментарии

Этот конструктор используется с файлами PKCS12 (PFX), которые содержат закрытый ключ сертификата.This constructor is used with PKCS12 (PFX) files that contain the certificate's private key. При вызове этого конструктора с правильным паролем закрытый ключ расшифровывается и сохраняется в контейнере ключей.Calling this constructor with the correct password decrypts the private key and saves it to a key container.

Важно!

Никогда не следует жестко кодировать пароль в исходном коде.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 up the assembly in a text editor such as Notepad.exe.

Если X509Certificate сертификат создается путем указания хранилища файлов с подписью PKCS7 для rawData , X509Certificate создается для сертификата, который подписал хранилище, а не для всех сертификатов в хранилище.If you create an X509Certificate certificate by specifying a PKCS7 signed file store for rawData, the X509Certificate is created for the certificate that signed the store rather than for any of the certificates within the store.

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

X509Certificate2(String)

Инициализирует новый экземпляр класса X509Certificate2 с помощью имени файла сертификата.Initializes a new instance of the X509Certificate2 class using a certificate file name.

public:
 X509Certificate2(System::String ^ fileName);
public X509Certificate2 (string fileName);
new System.Security.Cryptography.X509Certificates.X509Certificate2 : string -> System.Security.Cryptography.X509Certificates.X509Certificate2
Public Sub New (fileName As String)

Параметры

fileName
String

Имя файла сертификата.The name of a certificate file.

Исключения

Произошла ошибка сертификата.An error with the certificate occurs. Пример:For example:

– Заданный файл сертификата не существует.- The certificate file does not exist.

— Сертификат недействителен.- The certificate is invalid.

— Пароль сертификата неверен.- The certificate's password is incorrect.

Комментарии

Этот конструктор создает новый X509Certificate2 объект, используя имя файла сертификата.This constructor creates a new X509Certificate2 object using a certificate file name. Он поддерживает двоичное кодирование (DER) или кодировку Base64.It supports binary (DER) encoding or Base64 encoding.

Если X509Certificate2 сертификат создается путем указания хранилища файлов с подписью PKCS7 для fileName , X509Certificate2 создается для сертификата, который подписал хранилище, а не для всех сертификатов в хранилище.If you create an X509Certificate2 certificate by specifying a PKCS7 signed file store for fileName, the X509Certificate2 is created for the certificate that signed the store rather than for any of the certificates within the store.

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

X509Certificate2(SerializationInfo, StreamingContext)

Инициализирует новый экземпляр класса X509Certificate2, используя заданную информацию о сериализации и контексте потоков.Initializes a new instance of the X509Certificate2 class using the specified serialization and stream context information.

protected:
 X509Certificate2(System::Runtime::Serialization::SerializationInfo ^ info, System::Runtime::Serialization::StreamingContext context);
protected X509Certificate2 (System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context);
new System.Security.Cryptography.X509Certificates.X509Certificate2 : System.Runtime.Serialization.SerializationInfo * System.Runtime.Serialization.StreamingContext -> System.Security.Cryptography.X509Certificates.X509Certificate2
Protected Sub New (info As SerializationInfo, context As StreamingContext)

Параметры

info
SerializationInfo

Сведения о сериализации, необходимые для десериализации нового объекта X509Certificate2.The serialization information required to deserialize the new X509Certificate2.

context
StreamingContext

Контекстные сведения об источнике десериализуемого потока.Contextual information about the source of the stream to be deserialized.

Исключения

Только .NET Core и .NET 5 (и более поздних версий): Во всех случаях..NET 5+ and .NET Core only: In all cases.

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

X509Certificate2(X509Certificate)

Инициализирует новый экземпляр класса X509Certificate2 с помощью объекта X509Certificate.Initializes a new instance of the X509Certificate2 class using an X509Certificate object.

public:
 X509Certificate2(System::Security::Cryptography::X509Certificates::X509Certificate ^ certificate);
public X509Certificate2 (System.Security.Cryptography.X509Certificates.X509Certificate certificate);
new System.Security.Cryptography.X509Certificates.X509Certificate2 : System.Security.Cryptography.X509Certificates.X509Certificate -> System.Security.Cryptography.X509Certificates.X509Certificate2
Public Sub New (certificate As X509Certificate)

Параметры

certificate
X509Certificate

Объект X509Certificate.An X509Certificate object.

Исключения

Произошла ошибка сертификата.An error with the certificate occurs. Пример:For example:

– Заданный файл сертификата не существует.- The certificate file does not exist.

— Сертификат недействителен.- The certificate is invalid.

— Пароль сертификата неверен.- The certificate's password is incorrect.

Комментарии

Этот метод создает новый экземпляр X509Certificate2 класса с помощью X509Certificate объекта.This method creates a new instance of the X509Certificate2 class using an X509Certificate object.

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

X509Certificate2(ReadOnlySpan<Byte>)

Инициализирует новый экземпляр класса X509Certificate2 на основе данных сертификата.Initializes a new instance of the X509Certificate2 class from certificate data.

public:
 X509Certificate2(ReadOnlySpan<System::Byte> rawData);
public X509Certificate2 (ReadOnlySpan<byte> rawData);
new System.Security.Cryptography.X509Certificates.X509Certificate2 : ReadOnlySpan<byte> -> System.Security.Cryptography.X509Certificates.X509Certificate2
Public Sub New (rawData As ReadOnlySpan(Of Byte))

Параметры

rawData
ReadOnlySpan<Byte>

Данные сертификата для обработки.The certificate data to process.

Исключения

Произошла ошибка сертификата.An error with the certificate occurs.

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

X509Certificate2(IntPtr)

Инициализирует новый экземпляр класса X509Certificate2 с помощью неуправляемого дескриптора.Initializes a new instance of the X509Certificate2 class using an unmanaged handle.

public:
 X509Certificate2(IntPtr handle);
public X509Certificate2 (IntPtr handle);
new System.Security.Cryptography.X509Certificates.X509Certificate2 : nativeint -> System.Security.Cryptography.X509Certificates.X509Certificate2
Public Sub New (handle As IntPtr)

Параметры

handle
IntPtr

Указатель на контекст сертификата в неуправляемом коде.A pointer to a certificate context in unmanaged code. Структура на языке C вызывается PCCERT_CONTEXT.The C structure is called PCCERT_CONTEXT.

Исключения

Произошла ошибка сертификата.An error with the certificate occurs. Пример:For example:

– Заданный файл сертификата не существует.- The certificate file does not exist.

— Сертификат недействителен.- The certificate is invalid.

— Пароль сертификата неверен.- The certificate's password is incorrect.

Комментарии

Этот конструктор создает новый X509Certificate2 объект, используя маркер для контекста сертификата Microsoft Cryptographic API PCCERT_CONTEXT .This constructor creates a new X509Certificate2 object using a handle for the Microsoft Cryptographic API certificate context, PCCERT_CONTEXT. Обратите внимание, что непосредственно вызывающему объекту этого конструктора требуется разрешение на неуправляемый код.Note that the immediate caller of this constructor requires unmanaged code permission.

Важно!

Конструктор создает копию контекста сертификата.The constructor creates a copy of the certificate context. Не следует считать, что структура контекста, переданная конструктору, является допустимой. возможно, он был выпущен.Do not assume that the context structure you passed to the constructor is valid; it may have been released. Копию текущей структуры можно получить PCCERT_CONTEXT из Handle свойства, но она допустима только в течение времени существования X509Certificate2 объекта.You can get a copy of the current PCCERT_CONTEXT structure from the Handle property, but it is valid only during the lifetime of the X509Certificate2 object.

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

X509Certificate2(Byte[])

Инициализирует новый экземпляр класса X509Certificate2 с использованием информации из указанного массива байтов.Initializes a new instance of the X509Certificate2 class using information from a byte array.

public:
 X509Certificate2(cli::array <System::Byte> ^ rawData);
public X509Certificate2 (byte[] rawData);
new System.Security.Cryptography.X509Certificates.X509Certificate2 : byte[] -> System.Security.Cryptography.X509Certificates.X509Certificate2
Public Sub New (rawData As Byte())

Параметры

rawData
Byte[]

Массив байтов, содержащий данные сертификата X.509.A byte array containing data from an X.509 certificate.

Исключения

Произошла ошибка сертификата.An error with the certificate occurs. Пример:For example:

– Заданный файл сертификата не существует.- The certificate file does not exist.

— Сертификат недействителен.- The certificate is invalid.

— Пароль сертификата неверен.- The certificate's password is incorrect.

Комментарии

Этот конструктор создает новый X509Certificate2 объект, используя сведения о сертификате из массива байтов.This constructor creates a new X509Certificate2 object using certificate information from a byte array. Массив байтов может представлять данные X.509 в двоичной кодировке (DER) или кодировке Base64.The byte array can be binary (DER) encoded or Base64-encoded X.509 data. Массив байтов также может быть подписанным в формате PKCS7 (Authenticode). сертификат подписавший используется для создания объекта.The byte array can also be a PKCS7 (Authenticode) signed file; the signer certificate is used to create the object.

Если X509Certificate2 сертификат создается путем указания хранилища файлов с подписью PKCS7 для rawData , X509Certificate2 создается для сертификата, который подписал хранилище, а не для всех сертификатов в хранилище.If you create an X509Certificate2 certificate by specifying a PKCS7 signed file store for rawData, the X509Certificate2 is created for the certificate that signed the store rather than for any of the certificates within the store.

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