X509Certificate2Collection Класс

Определение

Представляет коллекцию объектов X509Certificate2.Represents a collection of X509Certificate2 objects. Этот класс не наследуется.This class cannot be inherited.

public ref class X509Certificate2Collection : System::Security::Cryptography::X509Certificates::X509CertificateCollection
public class X509Certificate2Collection : System.Security.Cryptography.X509Certificates.X509CertificateCollection
type X509Certificate2Collection = class
    inherit X509CertificateCollection
Public Class X509Certificate2Collection
Inherits X509CertificateCollection
Наследование
X509Certificate2Collection
Наследование
X509Certificate2Collection

Примеры

В следующем примере кода открывается личное хранилище сертификатов текущего пользователя, выбираются только допустимые сертификаты, пользователь сможет выбрать сертификат, а затем записывает сведения о сертификате и цепочке сертификатов в консоль.The following code example opens the current user's personal certificate store, selects only valid certificates, allows the user to select a certificate, and then writes certificate and certificate chain information to the console. Выходные данные зависят от сертификата, который выбирает пользователь.The output depends on the certificate the user selects.

#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 результат представлен объектом X509Certificate2Collection .When an X509Certificate2 store is opened, the result is represented by an X509Certificate2Collection object. Если вы знакомы с неуправляемыми конструкциями API шифрования, можно представить X509Certificate2Collection как хранилище памяти X509Certificate2 объектов.If you are familiar with the unmanaged Cryptographic API constructs, you can think of an X509Certificate2Collection as a memory store of X509Certificate2 objects.

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

X509Certificate2Collection()

Инициализирует новый экземпляр класса X509Certificate2Collection без дополнительной информации X509Certificate2.Initializes a new instance of the X509Certificate2Collection class without any X509Certificate2 information.

X509Certificate2Collection(X509Certificate2)

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

X509Certificate2Collection(X509Certificate2[])

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

X509Certificate2Collection(X509Certificate2Collection)

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

Свойства

Capacity

Возвращает или задает число элементов, которое может содержать список CollectionBase.Gets or sets the number of elements that the CollectionBase can contain.

(Унаследовано от CollectionBase)
Count

Возвращает количество элементов, содержащихся в коллекции.Gets the number of elements contained in the collection.

(Унаследовано от X509CertificateCollection)
InnerList

Возвращает объект ArrayList, в котором хранится список элементов экземпляра класса CollectionBase.Gets an ArrayList containing the list of elements in the CollectionBase instance.

(Унаследовано от CollectionBase)
Item[Int32]

Возвращает или задает элемент по указанному индексу.Gets or sets the element at the specified index.

List

Возвращает объект IList, в котором хранится список элементов экземпляра класса CollectionBase.Gets an IList containing the list of elements in the CollectionBase instance.

(Унаследовано от CollectionBase)

Методы

Add(X509Certificate)

Добавляет X509Certificate с указанным значением в текущую коллекцию X509CertificateCollection.Adds an X509Certificate with the specified value to the current X509CertificateCollection.

(Унаследовано от X509CertificateCollection)
Add(X509Certificate2)

Добавляет объект в конец коллекции X509Certificate2Collection.Adds an object to the end of the X509Certificate2Collection.

AddRange(X509Certificate[])

Копирует элементы массива с типом X509Certificate в конец текущей коллекции X509CertificateCollection.Copies the elements of an array of type X509Certificate to the end of the current X509CertificateCollection.

(Унаследовано от X509CertificateCollection)
AddRange(X509Certificate2[])

Добавляет несколько объектов X509Certificate2 в массиве в объект X509Certificate2Collection.Adds multiple X509Certificate2 objects in an array to the X509Certificate2Collection object.

AddRange(X509Certificate2Collection)

Добавляет несколько объектов X509Certificate2 в объекте X509Certificate2Collection к другому объекту X509Certificate2Collection.Adds multiple X509Certificate2 objects in an X509Certificate2Collection object to another X509Certificate2Collection object.

AddRange(X509CertificateCollection)

Копирует элементы указанной коллекции X509CertificateCollection в конец текущей коллекции X509CertificateCollection.Copies the elements of the specified X509CertificateCollection to the end of the current X509CertificateCollection.

(Унаследовано от X509CertificateCollection)
Clear()

Удаляет все элементы из коллекции.Removes all items from the collection.

(Унаследовано от X509CertificateCollection)
Contains(X509Certificate)

Получает значение, указывающее, содержит ли текущая коллекция X509CertificateCollection указанный сертификат X509Certificate.Gets a value indicating whether the current X509CertificateCollection contains the specified X509Certificate.

(Унаследовано от X509CertificateCollection)
Contains(X509Certificate2)

Определяет, содержит ли объект X509Certificate2Collection указанный сертификат.Determines whether the X509Certificate2Collection object contains a specific certificate.

CopyTo(X509Certificate[], Int32)

Копирует значения X509Certificate из текущей коллекции X509CertificateCollection в экземпляр одномерного массива Array по указанному индексу.Copies the X509Certificate values in the current X509CertificateCollection to a one-dimensional Array instance at the specified index.

(Унаследовано от X509CertificateCollection)
Equals(Object)

Определяет, равен ли указанный объект текущему объекту.Determines whether the specified object is equal to the current object.

(Унаследовано от Object)
Export(X509ContentType)

Экспортирует сведения о сертификате X.509 в массив байтов.Exports X.509 certificate information into a byte array.

Export(X509ContentType, String)

Экспортирует сведения о сертификате X.509 в массив байтов, используя пароль.Exports X.509 certificate information into a byte array using a password.

Find(X509FindType, Object, Boolean)

Выполняет поиск в объекте X509Certificate2Collection с использованием критериев поиска, указанных в перечислении X509FindType и объекте findValue.Searches an X509Certificate2Collection object using the search criteria specified by the X509FindType enumeration and the findValue object.

GetEnumerator()

Возвращает перечислитель, который может выполнять итерацию объекта X509Certificate2Collection.Returns an enumerator that can iterate through a X509Certificate2Collection object.

GetHashCode()

Строит хэш-значение на основе всех значений в текущей коллекции X509CertificateCollection.Builds a hash value based on all values contained in the current X509CertificateCollection.

(Унаследовано от X509CertificateCollection)
GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Унаследовано от Object)
Import(Byte[])

Импортирует сертификат в форме массива байтов в объект X509Certificate2Collection.Imports a certificate in the form of a byte array into a X509Certificate2Collection object.

Import(Byte[], String, X509KeyStorageFlags)

Импортирует сертификат в форме массива байтов, требующего пароля для доступа к сертификату, в объект X509Certificate2Collection.Imports a certificate, in the form of a byte array that requires a password to access the certificate, into a X509Certificate2Collection object.

Import(ReadOnlySpan<Byte>)

Импортирует сертификаты на основе предоставленных данных в эту коллекцию.Imports the certificates from the provided data into this collection.

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

Импортирует сертификаты на основе предоставленных данных в эту коллекцию.Imports the certificates from the provided data into this collection.

Import(ReadOnlySpan<Byte>, String, X509KeyStorageFlags)

Импортирует сертификаты на основе предоставленных данных в эту коллекцию.Imports the certificates from the provided data into this collection.

Import(String)

Импортирует файл сертификата в объект X509Certificate2Collection.Imports a certificate file into a X509Certificate2Collection object.

Import(String, ReadOnlySpan<Char>, X509KeyStorageFlags)

Импортирует сертификаты из указанного файла в эту коллекцию.Imports the certificates from the specified file a into this collection.

Import(String, String, X509KeyStorageFlags)

Импортирует файл сертификата, требующий пароль, в объект X509Certificate2Collection.Imports a certificate file that requires a password into a X509Certificate2Collection object.

ImportFromPem(ReadOnlySpan<Char>)

Импортирует коллекцию сертификатов RFC 7468 в кодировке PEM.Imports a collection of RFC 7468 PEM-encoded certificates.

ImportFromPemFile(String)

Импортирует коллекцию сертификатов RFC 7468 в кодировке PEM.Imports a collection of RFC 7468 PEM-encoded certificates.

IndexOf(X509Certificate)

Возвращает индекс указанного объекта X509Certificate в текущей X509CertificateCollection.Returns the index of the specified X509Certificate in the current X509CertificateCollection.

(Унаследовано от X509CertificateCollection)
Insert(Int32, X509Certificate)

Вставляет X509Certificate в текущую коллекцию X509CertificateCollection по указанному индексу.Inserts a X509Certificate into the current X509CertificateCollection at the specified index.

(Унаследовано от X509CertificateCollection)
Insert(Int32, X509Certificate2)

Вставляет объект в объект X509Certificate2Collection по указанному индексу.Inserts an object into the X509Certificate2Collection object at the specified index.

MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Унаследовано от Object)
OnClear()

Выполняет дополнительные пользовательские действия при очистке содержимого экземпляра CollectionBase.Performs additional custom processes when clearing the contents of the CollectionBase instance.

(Унаследовано от CollectionBase)
OnClearComplete()

Осуществляет дополнительные пользовательские действия после удаления содержимого экземпляра класса CollectionBase.Performs additional custom processes after clearing the contents of the CollectionBase instance.

(Унаследовано от CollectionBase)
OnInsert(Int32, Object)

Выполняет дополнительные пользовательские действия перед вставкой нового элемента в экземпляр класса CollectionBase.Performs additional custom processes before inserting a new element into the CollectionBase instance.

(Унаследовано от CollectionBase)
OnInsertComplete(Int32, Object)

Выполняет дополнительные пользовательские действия после вставки нового элемента в экземпляр класса CollectionBase.Performs additional custom processes after inserting a new element into the CollectionBase instance.

(Унаследовано от CollectionBase)
OnRemove(Int32, Object)

Осуществляет дополнительные пользовательские действия при удалении элемента из экземпляра класса CollectionBase.Performs additional custom processes when removing an element from the CollectionBase instance.

(Унаследовано от CollectionBase)
OnRemoveComplete(Int32, Object)

Осуществляет дополнительные пользовательские действия после удаления элемента из экземпляра класса CollectionBase.Performs additional custom processes after removing an element from the CollectionBase instance.

(Унаследовано от CollectionBase)
OnSet(Int32, Object, Object)

Выполняет дополнительные пользовательские действия перед заданием значения в экземпляре класса CollectionBase.Performs additional custom processes before setting a value in the CollectionBase instance.

(Унаследовано от CollectionBase)
OnSetComplete(Int32, Object, Object)

Выполняет дополнительные пользовательские действия после задания значения в экземпляре класса CollectionBase.Performs additional custom processes after setting a value in the CollectionBase instance.

(Унаследовано от CollectionBase)
OnValidate(Object)

Выполняет дополнительные пользовательские операции при проверке значения.Performs additional custom processes when validating a value.

(Унаследовано от X509CertificateCollection)
Remove(X509Certificate)

Удаляет определенный X509Certificate из текущей коллекции X509CertificateCollection.Removes a specific X509Certificate from the current X509CertificateCollection.

(Унаследовано от X509CertificateCollection)
Remove(X509Certificate2)

Удаляет первое вхождение сертификата из объекта X509Certificate2Collection.Removes the first occurrence of a certificate from the X509Certificate2Collection object.

RemoveAt(Int32)

Удаляет элемент по указанному индексу.Removes the element at the specified index.

(Унаследовано от X509CertificateCollection)
RemoveRange(X509Certificate2[])

Удаляет несколько объектов X509Certificate2 в массиве из объекта X509Certificate2Collection.Removes multiple X509Certificate2 objects in an array from an X509Certificate2Collection object.

RemoveRange(X509Certificate2Collection)

Удаляет несколько объектов X509Certificate2 в объекте X509Certificate2Collection из другого объекта X509Certificate2Collection.Removes multiple X509Certificate2 objects in an X509Certificate2Collection object from another X509Certificate2Collection object.

ToString()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

(Унаследовано от Object)

Явные реализации интерфейса

ICollection.CopyTo(Array, Int32)

Копирует всю коллекцию в совместимый одномерный массив, начиная с указанного индекса целевого массива.Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array.

(Унаследовано от X509CertificateCollection)
ICollection.IsSynchronized

Возвращает значение, указывающее, является ли доступ к коллекции синхронизированным (потокобезопасным).Gets a value indicating whether access to the collection is synchronized (thread safe).

(Унаследовано от X509CertificateCollection)
ICollection.SyncRoot

Возвращает объект, который можно использовать для синхронизации доступа к коллекции.Gets an object that can be used to synchronize access to the collection.

(Унаследовано от X509CertificateCollection)
IEnumerable.GetEnumerator()

Возвращает перечислитель, выполняющий перебор элементов в коллекции.Returns an enumerator that iterates through the collection.

(Унаследовано от X509CertificateCollection)
IList.Add(Object)

Добавляет объект в конец коллекции.Adds an object to the end of the collection.

(Унаследовано от X509CertificateCollection)
IList.Contains(Object)

Определяет, содержит ли коллекция определенный элемент.Determines whether the collection contains a specific element.

(Унаследовано от X509CertificateCollection)
IList.IndexOf(Object)

Осуществляет поиск указанного объекта и возвращает отсчитываемый от нуля индекс первого вхождения в коллекции.Searches for the specified object and returns the zero-based index of the first occurrence within the collection.

(Унаследовано от X509CertificateCollection)
IList.Insert(Int32, Object)

Вставляет элемент в коллекцию по указанному индексу.Inserts an element into the collection at the specified index.

(Унаследовано от X509CertificateCollection)
IList.IsFixedSize

Возвращает значение, указывающее, имеет ли коллекция фиксированный размер.Gets a value indicating whether the collection has a fixed size.

(Унаследовано от X509CertificateCollection)
IList.IsReadOnly

Возвращает значение, указывающее, является ли коллекция доступной только для чтения.Gets a value indicating whether the collection is read-only.

(Унаследовано от X509CertificateCollection)
IList.Item[Int32]

Возвращает или задает элемент по указанному индексу.Gets or sets the element at the specified index.

(Унаследовано от X509CertificateCollection)
IList.Remove(Object)

Удаляет первое вхождение конкретного объекта из коллекции.Removes the first occurrence of a specific object from the collection.

(Унаследовано от X509CertificateCollection)

Методы расширения

Cast<TResult>(IEnumerable)

Приводит элементы объекта IEnumerable к заданному типу.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

Выполняет фильтрацию элементов объекта IEnumerable по заданному типу.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

Позволяет осуществлять параллельный запрос.Enables parallelization of a query.

AsQueryable(IEnumerable)

Преобразовывает коллекцию IEnumerable в объект IQueryable.Converts an IEnumerable to an IQueryable.

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