X509ChainElementCollection Класс
Определение
Представляет коллекцию объектов X509ChainElement.Represents a collection of X509ChainElement objects. Этот класс не наследуется.This class cannot be inherited.
public ref class X509ChainElementCollection sealed : System::Collections::ICollection
public sealed class X509ChainElementCollection : System.Collections.ICollection
type X509ChainElementCollection = class
interface ICollection
interface IEnumerable
Public NotInheritable Class X509ChainElementCollection
Implements ICollection
- Наследование
-
X509ChainElementCollection
- Реализации
Примеры
Следующий пример кода открывает личное хранилище сертификатов текущего пользователя, позволяет пользователю выбрать сертификат, а затем записывает сведения о сертификате и цепочке сертификатов в консоль.The following code example opens the current user's personal certificate store, allows the user to select a certificate, and then writes certificate and certificate chain information to the console. Выходные данные зависят от выбранного сертификата.The output depends on the certificate you select.
//Output chain element information.
Console::WriteLine( "Chain Element Information" );
Console::WriteLine( "Number of chain elements: {0}", ch->ChainElements->Count );
Console::WriteLine( "Chain elements synchronized? {0} {1}", ch->ChainElements->IsSynchronized, Environment::NewLine );
System::Collections::IEnumerator^ myEnum = ch->ChainElements->GetEnumerator();
while ( myEnum->MoveNext() )
{
X509ChainElement ^ element = safe_cast<X509ChainElement ^>(myEnum->Current);
Console::WriteLine( "Element issuer name: {0}", element->Certificate->Issuer );
Console::WriteLine( "Element certificate valid until: {0}", element->Certificate->NotAfter );
Console::WriteLine( "Element certificate is valid: {0}", element->Certificate->Verify() );
Console::WriteLine( "Element error status length: {0}", element->ChainElementStatus->Length );
Console::WriteLine( "Element information: {0}", element->Information );
Console::WriteLine( "Number of element extensions: {0}{1}", element->Certificate->Extensions->Count, Environment::NewLine );
if ( ch->ChainStatus->Length > 1 )
{
for ( int index = 0; index < element->ChainElementStatus->Length; index++ )
{
Console::WriteLine( element->ChainElementStatus[ index ].Status );
Console::WriteLine( element->ChainElementStatus[ index ].StatusInformation );
}
}
}
store->Close();
//Output chain element information.
Console.WriteLine ("Chain Element Information");
Console.WriteLine ("Number of chain elements: {0}", ch.ChainElements.Count);
Console.WriteLine ("Chain elements synchronized? {0} {1}", ch.ChainElements.IsSynchronized, Environment.NewLine);
foreach (X509ChainElement element in ch.ChainElements)
{
Console.WriteLine ("Element issuer name: {0}", element.Certificate.Issuer);
Console.WriteLine ("Element certificate valid until: {0}", element.Certificate.NotAfter);
Console.WriteLine ("Element certificate is valid: {0}", element.Certificate.Verify ());
Console.WriteLine ("Element error status length: {0}", element.ChainElementStatus.Length);
Console.WriteLine ("Element information: {0}", element.Information);
Console.WriteLine ("Number of element extensions: {0}{1}", element.Certificate.Extensions.Count, Environment.NewLine);
if (ch.ChainStatus.Length > 1)
{
for (int index = 0; index < element.ChainElementStatus.Length; index++)
{
Console.WriteLine (element.ChainElementStatus[index].Status);
Console.WriteLine (element.ChainElementStatus[index].StatusInformation);
}
}
}
store.Close();
'Output chain element information.
Console.WriteLine("Chain Element Information")
Console.WriteLine("Number of chain elements: {0}", ch.ChainElements.Count)
Console.WriteLine("Chain elements synchronized? {0} {1}", ch.ChainElements.IsSynchronized, Environment.NewLine)
Dim element As X509ChainElement
For Each element In ch.ChainElements
Console.WriteLine("Element issuer name: {0}", element.Certificate.Issuer)
Console.WriteLine("Element certificate valid until: {0}", element.Certificate.NotAfter)
Console.WriteLine("Element certificate is valid: {0}", element.Certificate.Verify())
Console.WriteLine("Element error status length: {0}", element.ChainElementStatus.Length)
Console.WriteLine("Element information: {0}", element.Information)
Console.WriteLine("Number of element extensions: {0}{1}", element.Certificate.Extensions.Count, Environment.NewLine)
If ch.ChainStatus.Length > 1 Then
Dim index As Integer
For index = 0 To element.ChainElementStatus.Length
Console.WriteLine(element.ChainElementStatus(index).Status)
Console.WriteLine(element.ChainElementStatus(index).StatusInformation)
Next index
End If
Next element
store.Close()
Комментарии
Экземпляр этого класса возвращается при ChainElements вызове свойства.An instance of this class is returned when the ChainElements property is called.
Свойства
Count |
Возвращает количество элементов в коллекции.Gets the number of elements in the collection. |
IsSynchronized |
Получает значение, позволяющее определить, является ли коллекция элементов цепочки синхронизированной.Gets a value indicating whether the collection of chain elements is synchronized. |
Item[Int32] |
Возвращает объект X509ChainElement по указанному индексу.Gets the X509ChainElement object at the specified index. |
SyncRoot |
Получает объект, который можно использовать для синхронизации доступа к объекту X509ChainElementCollection.Gets an object that can be used to synchronize access to an X509ChainElementCollection object. |
Методы
CopyTo(X509ChainElement[], Int32) |
Копирует объект X509ChainElementCollection в массив, начиная с указанного индекса.Copies an X509ChainElementCollection object into an array, starting at the specified index. |
Equals(Object) |
Определяет, равен ли указанный объект текущему объекту.Determines whether the specified object is equal to the current object. (Унаследовано от Object) |
GetEnumerator() |
Получает объект X509ChainElementEnumerator, который может использоваться для перехода в коллекции элементов цепочки.Gets an X509ChainElementEnumerator object that can be used to navigate through a collection of chain elements. |
GetHashCode() |
Служит хэш-функцией по умолчанию.Serves as the default hash function. (Унаследовано от Object) |
GetType() |
Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance. (Унаследовано от Object) |
MemberwiseClone() |
Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object. (Унаследовано от Object) |
ToString() |
Возвращает строку, представляющую текущий объект.Returns a string that represents the current object. (Унаследовано от Object) |
Явные реализации интерфейса
ICollection.CopyTo(Array, Int32) |
Копирует объект X509ChainElementCollection в массив, начиная с указанного индекса.Copies an X509ChainElementCollection object into an array, starting at the specified index. |
ICollection.IsSynchronized |
Возвращает значение, указывающее, является ли доступ к коллекции синхронизированным (потокобезопасным).Gets a value indicating whether access to the collection is synchronized (thread safe). |
ICollection.SyncRoot |
Возвращает объект, который можно использовать для синхронизации доступа к коллекции.Gets an object that can be used to synchronize access to the collection. |
IEnumerable.GetEnumerator() |
Получает объект IEnumerator, который может использоваться для перехода в коллекции элементов цепочки.Gets an IEnumerator object that can be used to navigate a collection of chain elements. |
Методы расширения
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. |