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

Определение

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

Перегрузки

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

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

X509Certificate2(String, String, X509KeyStorageFlags)

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

X509Certificate2(String, SecureString, X509KeyStorageFlags)

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

X509Certificate2(String, ReadOnlySpan<Char>, X509KeyStorageFlags)

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

X509Certificate2(Byte[], String, X509KeyStorageFlags)

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

X509Certificate2(Byte[], SecureString, X509KeyStorageFlags)

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

X509Certificate2(String, String)

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

X509Certificate2(String, SecureString)

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

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

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

X509Certificate2(Byte[], String)

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

X509Certificate2(Byte[], SecureString)

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

X509Certificate2(String)

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

X509Certificate2(X509Certificate)

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

X509Certificate2(SerializationInfo, StreamingContext)

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

X509Certificate2(ReadOnlySpan<Byte>)

Инициализирует новый экземпляр класса 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 ();
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);
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

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

password
String

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

keyStorageFlags
X509KeyStorageFlags

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

Исключения

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

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

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

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

Комментарии

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

Важно!

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

Если X509Certificate2 сертификат создается путем указания хранилища файлов с подписью PKCS7 для fileName , 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)]
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

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

password
SecureString

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

keyStorageFlags
X509KeyStorageFlags

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

Атрибуты

Исключения

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

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

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

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

Комментарии

Если X509Certificate сертификат создается путем указания хранилища файлов с подписью PKCS7 для fileName , 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);
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 сертификат создается путем указания хранилища файлов с подписью PKCS7 для fileName , X509Certificate2 создается для сертификата, который подписал хранилище, а не для всех сертификатов в хранилище.

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

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

password
String

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

keyStorageFlags
X509KeyStorageFlags

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

Исключения

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

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

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

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

Комментарии

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

Важно!

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

Если X509Certificate2 сертификат создается путем указания хранилища файлов с подписью PKCS7 для rawData , 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)]
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.

password
SecureString

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

keyStorageFlags
X509KeyStorageFlags

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

Атрибуты

Исключения

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

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

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

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

Комментарии

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

Важно!

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

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

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

X509Certificate2(String, String)

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

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

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

password
String

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

Исключения

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

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

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

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

Комментарии

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

Важно!

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

Если X509Certificate2 сертификат создается путем указания хранилища файлов с подписью PKCS7 для fileName , 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)]
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

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

password
SecureString

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

Атрибуты

Исключения

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

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

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

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

Комментарии

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

Важно!

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

Если X509Certificate сертификат создается путем указания хранилища файлов с подписью PKCS7 для fileName , 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);
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)

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

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.

password
String

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

Исключения

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

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

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

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

Комментарии

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

Важно!

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

Если X509Certificate2 сертификат создается путем указания хранилища файлов с подписью PKCS7 для rawData , 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)]
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.

password
SecureString

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

Атрибуты

Исключения

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

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

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

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

Комментарии

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

Важно!

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

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

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

X509Certificate2(String)

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

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

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

Исключения

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

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

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

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

Комментарии

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

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

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

X509Certificate2(X509Certificate)

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

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.

Исключения

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

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

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

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

Комментарии

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

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

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(ReadOnlySpan<Byte>)

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

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>

Данные сертификата для обработки.

Исключения

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

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

X509Certificate2(IntPtr)

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

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

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

Исключения

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

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

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

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

Комментарии

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

Важно!

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

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

X509Certificate2(Byte[])

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

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.

Исключения

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

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

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

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

Комментарии

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

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

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