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

Исходный код:
X509Certificate2.cs
Исходный код:
X509Certificate2.cs
Исходный код:
X509Certificate2.cs

Внимание!

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.cs
Исходный код:
X509Certificate2.cs
Исходный код:
X509Certificate2.cs

Инициализирует новый экземпляр класса 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 сертификата путем указания хранилища файлов, подписанного PKCS7 для fileName, X509Certificate2 создается для сертификата, подписавшего хранилище, а не для любого из сертификатов в хранилище.

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

X509Certificate2(String, SecureString, X509KeyStorageFlags)

Исходный код:
X509Certificate2.cs
Исходный код:
X509Certificate2.cs
Исходный код:
X509Certificate2.cs

Важно!

Этот 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 сертификата путем указания хранилища файлов, подписанного PKCS7 для fileName, X509Certificate создается для сертификата, подписавшего хранилище, а не для любого из сертификатов в хранилище.

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

X509Certificate2(String, ReadOnlySpan<Char>, X509KeyStorageFlags)

Исходный код:
X509Certificate2.cs
Исходный код:
X509Certificate2.cs
Исходный код:
X509Certificate2.cs

Инициализирует новый экземпляр класса 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 сертификата путем указания хранилища файлов, подписанного PKCS7 для fileName, X509Certificate2 создается для сертификата, подписавшего хранилище, а не для любого из сертификатов в хранилище.

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

X509Certificate2(Byte[], String, X509KeyStorageFlags)

Исходный код:
X509Certificate2.cs
Исходный код:
X509Certificate2.cs
Исходный код:
X509Certificate2.cs

Инициализирует новый экземпляр класса 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-файлами), содержащими закрытый ключ сертификата. Вызов этого конструктора с правильным паролем расшифровывает закрытый ключ и сохраняет его в поставщике служб шифрования (CSP) Microsoft Cryptographic API.

Важно!

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

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

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

X509Certificate2(Byte[], SecureString, X509KeyStorageFlags)

Исходный код:
X509Certificate2.cs
Исходный код:
X509Certificate2.cs
Исходный код:
X509Certificate2.cs

Важно!

Этот 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-файлами), содержащими закрытый ключ сертификата. Вызов этого конструктора с правильным паролем расшифровывает закрытый ключ и сохраняет его в поставщике служб шифрования (CSP) Microsoft Cryptographic API.

Важно!

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

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

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

X509Certificate2(String, String)

Исходный код:
X509Certificate2.cs
Исходный код:
X509Certificate2.cs
Исходный код:
X509Certificate2.cs

Инициализирует новый экземпляр класса 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 сертификата путем указания хранилища файлов, подписанного PKCS7 для fileName, X509Certificate2 создается для сертификата, подписавшего хранилище, а не для любого из сертификатов в хранилище.

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

X509Certificate2(String, SecureString)

Исходный код:
X509Certificate2.cs
Исходный код:
X509Certificate2.cs
Исходный код:
X509Certificate2.cs

Важно!

Этот 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 сертификата путем указания хранилища файлов, подписанного PKCS7 для fileName, X509Certificate создается для сертификата, подписавшего хранилище, а не для любого из сертификатов в хранилище.

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

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

Исходный код:
X509Certificate2.cs
Исходный код:
X509Certificate2.cs
Исходный код:
X509Certificate2.cs

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

Исходный код:
X509Certificate2.cs
Исходный код:
X509Certificate2.cs
Исходный код:
X509Certificate2.cs

Инициализирует новый экземпляр класса 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 сертификата путем указания хранилища файлов, подписанного PKCS7 для rawData, X509Certificate2 создается для сертификата, подписавшего хранилище, а не для любого из сертификатов в хранилище.

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

X509Certificate2(Byte[], SecureString)

Исходный код:
X509Certificate2.cs
Исходный код:
X509Certificate2.cs
Исходный код:
X509Certificate2.cs

Важно!

Этот 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 сертификата путем указания хранилища файлов, подписанного PKCS7 для rawData, X509Certificate создается для сертификата, подписавшего хранилище, а не для любого из сертификатов в хранилище.

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

X509Certificate2(String)

Исходный код:
X509Certificate2.cs
Исходный код:
X509Certificate2.cs
Исходный код:
X509Certificate2.cs

Инициализирует новый экземпляр класса 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 сертификата путем указания хранилища файлов, подписанного PKCS7 для fileName, X509Certificate2 создается для сертификата, подписавшего хранилище, а не для любого из сертификатов в хранилище.

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

X509Certificate2(X509Certificate)

Исходный код:
X509Certificate2.cs
Исходный код:
X509Certificate2.cs
Исходный код:
X509Certificate2.cs

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

Исходный код:
X509Certificate2.cs
Исходный код:
X509Certificate2.cs
Исходный код:
X509Certificate2.cs

Внимание!

This API supports obsolete formatter-based serialization. It should not be called or extended by application code.

Инициализирует новый экземпляр класса 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);
[System.Obsolete("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
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
[<System.Obsolete("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
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.cs
Исходный код:
X509Certificate2.cs
Исходный код:
X509Certificate2.cs

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

Исходный код:
X509Certificate2.cs
Исходный код:
X509Certificate2.cs
Исходный код:
X509Certificate2.cs

Инициализирует новый экземпляр класса 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 объект с помощью дескриптора для контекста сертификата API шифрования Майкрософт, PCCERT_CONTEXT. Обратите внимание, что непосредственный вызывающий объект этого конструктора требует разрешения неуправляемого кода.

Важно!

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

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

X509Certificate2(Byte[])

Исходный код:
X509Certificate2.cs
Исходный код:
X509Certificate2.cs
Исходный код:
X509Certificate2.cs

Инициализирует новый экземпляр класса 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 путем указания хранилища файлов, подписанного PKCS7 для rawData, X509Certificate2 создается для сертификата, подписавшего хранилище, а не для любого из сертификатов в хранилище.

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