X509ChainElementCollection Class
Represents a collection of X509ChainElement objects. This class cannot be inherited.
Assembly: System (in System.dll)
| Name | Description | |
|---|---|---|
![]() | Count | Gets the number of elements in the collection. |
![]() | IsSynchronized | Gets a value indicating whether the collection of chain elements is synchronized. |
![]() | Item[Int32] | Gets the X509ChainElement object at the specified index. |
![]() | SyncRoot | Gets an object that can be used to synchronize access to an X509ChainElementCollection object. |
| Name | Description | |
|---|---|---|
![]() | CopyTo(array<X509ChainElement^>^, Int32) | 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.(Inherited from Object.) |
![]() | GetEnumerator() | Gets an X509ChainElementEnumerator object that can be used to navigate through a collection of chain elements. |
![]() | GetHashCode() | Serves as the default hash function. (Inherited from Object.) |
![]() | GetType() | |
![]() | ToString() | Returns a string that represents the current object.(Inherited from Object.) |
| Name | Description | |
|---|---|---|
![]() ![]() | ICollection::CopyTo(Array^, Int32) | This API supports the product infrastructure and is not intended to be used directly from your code. Copies an X509ChainElementCollection object into an array, starting at the specified index. |
![]() ![]() | IEnumerable::GetEnumerator() | This API supports the product infrastructure and is not intended to be used directly from your code. Gets an IEnumerator object that can be used to navigate a collection of chain elements. |
| Name | Description | |
|---|---|---|
![]() | AsParallel() | Overloaded. Enables parallelization of a query.(Defined by ParallelEnumerable.) |
![]() | AsQueryable() | Overloaded. Converts an IEnumerable to an IQueryable.(Defined by Queryable.) |
![]() | Cast<TResult>() | Casts the elements of an IEnumerable to the specified type.(Defined by Enumerable.) |
![]() | OfType<TResult>() | Filters the elements of an IEnumerable based on a specified type.(Defined by Enumerable.) |
An instance of this class is returned when the ChainElements property is called.
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();
Available since 2.0
Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.



