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

Определение

Инициализирует новый экземпляр класса X509Certificate2.

Перегрузки

X509Certificate2()
Является устаревшей.

Инициализирует новый экземпляр класса X509Certificate2.

X509Certificate2(String, String, X509KeyStorageFlags)

Инициализирует новый экземпляр класса X509Certificate2 с использованием имени файла сертификата и пароля для доступа к сертификату, а также флага хранилища ключа.

X509Certificate2(String, SecureString, X509KeyStorageFlags)

Инициализирует новый экземпляр класса X509Certificate2 с использованием имени файла сертификата, пароля и флага хранилища ключа.

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

Инициализирует новый экземпляр класса X509Certificate2 на основе данных сертификата, пароля и флагов хранилища ключа.

X509Certificate2(Byte[], String, X509KeyStorageFlags)

Инициализирует новый экземпляр класса X509Certificate2 с использованием массива байтов, пароля и флага хранилища ключей.

X509Certificate2(Byte[], SecureString, X509KeyStorageFlags)

Инициализирует новый экземпляр класса X509Certificate2 с использованием массива байтов, пароля и флага хранилища ключей.

X509Certificate2(String, String)

Инициализирует новый экземпляр класса X509Certificate2, используя имя файла сертификата и пароль для доступа к сертификату.

X509Certificate2(String, SecureString)

Инициализирует новый экземпляр класса X509Certificate2 с использованием имени файла сертификата и пароля.

X509Certificate2(String, ReadOnlySpan<Char>, X509KeyStorageFlags)

Инициализирует новый экземпляр класса X509Certificate2 с использованием имени файла сертификата, пароля и флага хранилища ключа.

X509Certificate2(Byte[], String)

Инициализирует новый экземпляр класса X509Certificate2 с использованием массива байтов и пароля.

X509Certificate2(Byte[], SecureString)

Инициализирует новый экземпляр класса X509Certificate2 с использованием массива байтов и пароля.

X509Certificate2(String)

Инициализирует новый экземпляр класса X509Certificate2 с помощью имени файла сертификата.

X509Certificate2(X509Certificate)

Инициализирует новый экземпляр класса X509Certificate2 с помощью объекта X509Certificate.

X509Certificate2(ReadOnlySpan<Byte>)

Инициализирует новый экземпляр класса X509Certificate2 на основе данных сертификата.

X509Certificate2(SerializationInfo, StreamingContext)

Инициализирует новый экземпляр класса X509Certificate2, используя заданную информацию о сериализации и контексте потоков.

X509Certificate2(IntPtr)

Инициализирует новый экземпляр класса X509Certificate2 с помощью неуправляемого дескриптора.

X509Certificate2(Byte[])

Инициализирует новый экземпляр класса X509Certificate2 с использованием информации из указанного массива байтов.

X509Certificate2()

Внимание!

X509Certificate and X509Certificate2 are immutable. Use the appropriate constructor to create a new certificate.

Инициализирует новый экземпляр класса X509Certificate2.

public:
 X509Certificate2();
public X509Certificate2 ();
[System.Obsolete("X509Certificate and X509Certificate2 are immutable. Use the appropriate constructor to create a new certificate.", DiagnosticId="SYSLIB0026", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public X509Certificate2 ();
[System.Obsolete("X509Certificate and X509Certificate2 are immutable. Use the appropriate constructor to create a new certificate.", DiagnosticId="SYSLIB0026", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public X509Certificate2 ();
Public Sub New ()
Атрибуты

Примеры

В следующем примере кода открывается хранилище сертификатов текущего пользователя, выбирается только активные сертификаты, а затем пользователь может выбрать один или несколько сертификатов. Затем этот пример записывает сведения о сертификате в консоль.

#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 объект, в отличие от других конструкторов этого класса, которые используют сведения о сертификате из массива байтов, указателя или файла сертификата.

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

X509Certificate2(String, String, X509KeyStorageFlags)

Инициализирует новый экземпляр класса X509Certificate2 с использованием имени файла сертификата и пароля для доступа к сертификату, а также флага хранилища ключа.

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);
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
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
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
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

Имя файла сертификата.

password
String

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

keyStorageFlags
X509KeyStorageFlags

Поразрядное сочетание значений перечисления, определяющих, где и как следует импортировать сертификат.

Атрибуты

Исключения

Произошла ошибка сертификата. Пример:

– Заданный файл сертификата не существует.

— Сертификат недействителен.

— Пароль сертификата неверен.

Комментарии

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

Важно!

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

При создании X509Certificate2 сертификата путем указания хранилища файлов fileNameс подписью PKCS7 создается для сертификата, X509Certificate2 подписавшего хранилище, а не для любого из сертификатов в хранилище.

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

X509Certificate2(String, SecureString, X509KeyStorageFlags)

Важно!

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

Инициализирует новый экземпляр класса X509Certificate2 с использованием имени файла сертификата, пароля и флага хранилища ключа.

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)]
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
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
[<System.CLSCompliant(false)>]
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
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

Имя файла сертификата.

password
SecureString

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

keyStorageFlags
X509KeyStorageFlags

Поразрядное сочетание значений перечисления, определяющих, где и как следует импортировать сертификат.

Атрибуты

Исключения

Произошла ошибка сертификата. Пример:

– Заданный файл сертификата не существует.

— Сертификат недействителен.

— Пароль сертификата неверен.

Комментарии

При создании X509Certificate сертификата путем указания хранилища файлов fileNameс подписью PKCS7 создается для сертификата, X509Certificate подписавшего хранилище, а не для любого из сертификатов в хранилище.

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

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

Инициализирует новый экземпляр класса X509Certificate2 на основе данных сертификата, пароля и флагов хранилища ключа.

public X509Certificate2 (ReadOnlySpan<byte> rawData, ReadOnlySpan<char> password, System.Security.Cryptography.X509Certificates.X509KeyStorageFlags keyStorageFlags = System.Security.Cryptography.X509Certificates.X509KeyStorageFlags.DefaultKeySet);
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
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
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
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>

Обрабатываемые данные сертификата.

password
ReadOnlySpan<Char>

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

keyStorageFlags
X509KeyStorageFlags

Поразрядное сочетание значений перечисления, определяющих, где и как следует импортировать сертификат.

Атрибуты

Исключения

Произошла ошибка сертификата.

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

X509Certificate2(Byte[], String, X509KeyStorageFlags)

Инициализирует новый экземпляр класса X509Certificate2 с использованием массива байтов, пароля и флага хранилища ключей.

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);
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
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
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
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.

password
String

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

keyStorageFlags
X509KeyStorageFlags

Поразрядное сочетание значений перечисления, определяющих, где и как следует импортировать сертификат.

Атрибуты

Исключения

Произошла ошибка сертификата. Пример:

– Заданный файл сертификата не существует.

— Сертификат недействителен.

— Пароль сертификата неверен.

Комментарии

Этот конструктор создает новый X509Certificate2 объект с помощью массива байтов, пароля, необходимого для доступа к данным сертификата, и флага хранилища ключей. Он используется с файлами PKCS12 (PFX), содержащими закрытый ключ сертификата. Вызов этого конструктора с правильным паролем расшифровывает закрытый ключ и сохраняет его в поставщике служб шифрования API шифрования (CSP).

Важно!

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

При создании X509Certificate2 сертификата путем указания хранилища файлов rawDataс подписью PKCS7 создается для сертификата, X509Certificate2 подписавшего хранилище, а не для любого из сертификатов в хранилище.

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

X509Certificate2(Byte[], SecureString, X509KeyStorageFlags)

Важно!

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

Инициализирует новый экземпляр класса X509Certificate2 с использованием массива байтов, пароля и флага хранилища ключей.

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)]
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
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
[<System.CLSCompliant(false)>]
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
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.

password
SecureString

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

keyStorageFlags
X509KeyStorageFlags

Поразрядное сочетание значений перечисления, определяющих, где и как следует импортировать сертификат.

Атрибуты

Исключения

Произошла ошибка сертификата. Пример:

– Заданный файл сертификата не существует.

— Сертификат недействителен.

— Пароль сертификата неверен.

Комментарии

Этот конструктор используется с файлами PKCS12 (PFX), содержащими закрытый ключ сертификата. Вызов этого конструктора с правильным паролем расшифровывает закрытый ключ и сохраняет его в поставщике служб шифрования API шифрования (CSP).

Важно!

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

При создании X509Certificate сертификата путем указания хранилища файлов rawDataс подписью PKCS7 создается для сертификата, X509Certificate подписавшего хранилище, а не для любого из сертификатов в хранилище.

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

X509Certificate2(String, String)

Инициализирует новый экземпляр класса X509Certificate2, используя имя файла сертификата и пароль для доступа к сертификату.

public:
 X509Certificate2(System::String ^ fileName, System::String ^ password);
public X509Certificate2 (string fileName, string? password);
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
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
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
new System.Security.Cryptography.X509Certificates.X509Certificate2 : string * string -> System.Security.Cryptography.X509Certificates.X509Certificate2
Public Sub New (fileName As String, password As String)

Параметры

fileName
String

Имя файла сертификата.

password
String

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

Атрибуты

Исключения

Произошла ошибка сертификата. Пример:

– Заданный файл сертификата не существует.

— Сертификат недействителен.

— Пароль сертификата неверен.

Комментарии

Этот конструктор создает новый X509Certificate2 объект, используя имя файла сертификата и пароль, необходимый для доступа к сертификату. Он используется с файлами PKCS12 (PFX), содержащими закрытый ключ сертификата. Вызов этого конструктора с правильным паролем расшифровывает закрытый ключ и сохраняет его в контейнере ключей.

Важно!

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

При создании X509Certificate2 сертификата путем указания хранилища файлов fileNameс подписью PKCS7 создается для сертификата, X509Certificate2 подписавшего хранилище, а не для любого из сертификатов в хранилище.

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

X509Certificate2(String, SecureString)

Важно!

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

Инициализирует новый экземпляр класса X509Certificate2 с использованием имени файла сертификата и пароля.

public:
 X509Certificate2(System::String ^ fileName, System::Security::SecureString ^ password);
[System.CLSCompliant(false)]
public X509Certificate2 (string fileName, System.Security.SecureString? password);
[System.CLSCompliant(false)]
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
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
[<System.CLSCompliant(false)>]
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
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

Имя файла сертификата.

password
SecureString

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

Атрибуты

Исключения

Произошла ошибка сертификата. Пример:

– Заданный файл сертификата не существует.

— Сертификат недействителен.

— Пароль сертификата неверен.

Комментарии

Этот конструктор используется с файлами PKCS12 (PFX), содержащими закрытый ключ сертификата. Вызов этого конструктора с правильным паролем расшифровывает закрытый ключ и сохраняет его в контейнере ключей.

Важно!

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

При создании X509Certificate сертификата путем указания хранилища файлов fileNameс подписью PKCS7 создается для сертификата, X509Certificate подписавшего хранилище, а не для любого из сертификатов в хранилище.

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

X509Certificate2(String, ReadOnlySpan<Char>, X509KeyStorageFlags)

Инициализирует новый экземпляр класса X509Certificate2 с использованием имени файла сертификата, пароля и флага хранилища ключа.

public X509Certificate2 (string fileName, ReadOnlySpan<char> password, System.Security.Cryptography.X509Certificates.X509KeyStorageFlags keyStorageFlags = System.Security.Cryptography.X509Certificates.X509KeyStorageFlags.DefaultKeySet);
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
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
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
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

Имя файла сертификата.

password
ReadOnlySpan<Char>

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

keyStorageFlags
X509KeyStorageFlags

Поразрядное сочетание значений перечисления, определяющих, где и как следует импортировать сертификат.

Атрибуты

Исключения

Произошла ошибка сертификата. Пример:

– Заданный файл сертификата не существует.

— Сертификат недействителен.

— Пароль сертификата неверен.

Комментарии

Важно!

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

При создании X509Certificate2 сертификата путем указания хранилища файлов fileNameс подписью PKCS7 создается для сертификата, X509Certificate2 подписавшего хранилище, а не для любого из сертификатов в хранилище.

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

X509Certificate2(Byte[], String)

Инициализирует новый экземпляр класса X509Certificate2 с использованием массива байтов и пароля.

public:
 X509Certificate2(cli::array <System::Byte> ^ rawData, System::String ^ password);
public X509Certificate2 (byte[] rawData, string? password);
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
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
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
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.

password
String

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

Атрибуты

Исключения

Произошла ошибка сертификата. Пример:

– Заданный файл сертификата не существует.

— Сертификат недействителен.

— Пароль сертификата неверен.

Комментарии

Этот конструктор создает новый X509Certificate2 объект с помощью массива байтов и пароля, необходимых для доступа к данным сертификата. Он используется с файлами PKCS12 (PFX), содержащими закрытый ключ сертификата. Вызов этого конструктора с правильным паролем расшифровывает закрытый ключ и сохраняет его в контейнере ключей.

Важно!

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

При создании X509Certificate2 сертификата путем указания хранилища файлов rawDataс подписью PKCS7 создается для сертификата, X509Certificate2 подписавшего хранилище, а не для любого из сертификатов в хранилище.

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

X509Certificate2(Byte[], SecureString)

Важно!

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

Инициализирует новый экземпляр класса X509Certificate2 с использованием массива байтов и пароля.

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)]
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
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
[<System.CLSCompliant(false)>]
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
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.

password
SecureString

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

Атрибуты

Исключения

Произошла ошибка сертификата. Пример:

– Заданный файл сертификата не существует.

— Сертификат недействителен.

— Пароль сертификата неверен.

Комментарии

Этот конструктор используется с файлами PKCS12 (PFX), содержащими закрытый ключ сертификата. Вызов этого конструктора с правильным паролем расшифровывает закрытый ключ и сохраняет его в контейнере ключей.

Важно!

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

При создании X509Certificate сертификата путем указания хранилища файлов rawDataс подписью PKCS7 создается для сертификата, X509Certificate подписавшего хранилище, а не для любого из сертификатов в хранилище.

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

X509Certificate2(String)

Инициализирует новый экземпляр класса X509Certificate2 с помощью имени файла сертификата.

public:
 X509Certificate2(System::String ^ fileName);
public X509Certificate2 (string fileName);
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public X509Certificate2 (string fileName);
new System.Security.Cryptography.X509Certificates.X509Certificate2 : string -> System.Security.Cryptography.X509Certificates.X509Certificate2
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
new System.Security.Cryptography.X509Certificates.X509Certificate2 : string -> System.Security.Cryptography.X509Certificates.X509Certificate2
Public Sub New (fileName As String)

Параметры

fileName
String

Имя файла сертификата.

Атрибуты

Исключения

Произошла ошибка сертификата. Пример:

– Заданный файл сертификата не существует.

— Сертификат недействителен.

— Пароль сертификата неверен.

Комментарии

Этот конструктор создает новый X509Certificate2 объект с помощью имени файла сертификата. Он поддерживает двоичную кодировку (DER) или кодировку Base64.

При создании X509Certificate2 сертификата путем указания хранилища файлов fileNameс подписью PKCS7 создается для сертификата, X509Certificate2 подписавшего хранилище, а не для любого из сертификатов в хранилище.

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

X509Certificate2(X509Certificate)

Инициализирует новый экземпляр класса X509Certificate2 с помощью объекта X509Certificate.

public:
 X509Certificate2(System::Security::Cryptography::X509Certificates::X509Certificate ^ certificate);
public X509Certificate2 (System.Security.Cryptography.X509Certificates.X509Certificate certificate);
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public X509Certificate2 (System.Security.Cryptography.X509Certificates.X509Certificate certificate);
new System.Security.Cryptography.X509Certificates.X509Certificate2 : System.Security.Cryptography.X509Certificates.X509Certificate -> System.Security.Cryptography.X509Certificates.X509Certificate2
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
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.

Атрибуты

Исключения

Произошла ошибка сертификата. Пример:

– Заданный файл сертификата не существует.

— Сертификат недействителен.

— Пароль сертификата неверен.

Комментарии

Этот метод создает новый экземпляр X509Certificate2 класса с помощью X509Certificate объекта.

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

X509Certificate2(ReadOnlySpan<Byte>)

Инициализирует новый экземпляр класса X509Certificate2 на основе данных сертификата.

public:
 X509Certificate2(ReadOnlySpan<System::Byte> rawData);
public X509Certificate2 (ReadOnlySpan<byte> rawData);
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public X509Certificate2 (ReadOnlySpan<byte> rawData);
new System.Security.Cryptography.X509Certificates.X509Certificate2 : ReadOnlySpan<byte> -> System.Security.Cryptography.X509Certificates.X509Certificate2
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
new System.Security.Cryptography.X509Certificates.X509Certificate2 : ReadOnlySpan<byte> -> System.Security.Cryptography.X509Certificates.X509Certificate2
Public Sub New (rawData As ReadOnlySpan(Of Byte))

Параметры

rawData
ReadOnlySpan<Byte>

Обрабатываемые данные сертификата.

Атрибуты

Исключения

Произошла ошибка сертификата.

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

X509Certificate2(SerializationInfo, StreamingContext)

Инициализирует новый экземпляр класса X509Certificate2, используя заданную информацию о сериализации и контексте потоков.

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.

context
StreamingContext

Контекстные сведения об источнике десериализуемого потока.

Исключения

Только .NET Core и .NET 5+: Во всех случаях.

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

X509Certificate2(IntPtr)

Инициализирует новый экземпляр класса X509Certificate2 с помощью неуправляемого дескриптора.

public:
 X509Certificate2(IntPtr handle);
public X509Certificate2 (IntPtr handle);
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public X509Certificate2 (IntPtr handle);
new System.Security.Cryptography.X509Certificates.X509Certificate2 : nativeint -> System.Security.Cryptography.X509Certificates.X509Certificate2
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
new System.Security.Cryptography.X509Certificates.X509Certificate2 : nativeint -> System.Security.Cryptography.X509Certificates.X509Certificate2
Public Sub New (handle As IntPtr)

Параметры

handle
IntPtr

nativeint

Указатель на контекст сертификата в неуправляемом коде. Структура на языке C вызывается PCCERT_CONTEXT.

Атрибуты

Исключения

Произошла ошибка сертификата. Пример:

– Заданный файл сертификата не существует.

— Сертификат недействителен.

— Пароль сертификата неверен.

Комментарии

Этот конструктор создает новый X509Certificate2 объект с помощью дескриптора для контекста PCCERT_CONTEXTсертификата API шифрования Майкрософт. Обратите внимание, что непосредственный вызывающий объект этого конструктора требует разрешения на неуправляемый код.

Важно!

Конструктор создает копию контекста сертификата. Не предполагайте, что структура контекста, переданная конструктору, действительна; Возможно, он был выпущен. Копию текущей PCCERT_CONTEXT структуры можно получить из Handle свойства, но она действительна только в течение времени существования X509Certificate2 объекта.

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

X509Certificate2(Byte[])

Инициализирует новый экземпляр класса X509Certificate2 с использованием информации из указанного массива байтов.

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

Параметры

rawData
Byte[]

Массив байтов, содержащий данные сертификата X.509.

Атрибуты

Исключения

Произошла ошибка сертификата. Пример:

– Заданный файл сертификата не существует.

— Сертификат недействителен.

— Пароль сертификата неверен.

Комментарии

Этот конструктор создает новый X509Certificate2 объект, используя сведения о сертификате из массива байтов. Массив байтов может представлять данные X.509 в двоичной кодировке (DER) или кодировке Base64. Массив байтов также может быть подписанным файлом PKCS7 (Authenticode); Сертификат подписывателя используется для создания объекта.

При создании X509Certificate2 сертификата путем указания хранилища файлов rawDataс подписью PKCS7 создается для сертификата, X509Certificate2 подписавшего хранилище, а не для любого из сертификатов в хранилище.

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