X509ChainElementCollection Class
Represents a collection of X509ChainElement objects. This class cannot be inherited.
Namespace: System.Security.Cryptography.X509Certificates
Assembly: System (in System.dll)
The X509ChainElementCollection type exposes the following members.
| 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 | 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 | 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 a hash function for a particular type. (Inherited from Object.) |
![]() | GetType | Gets the Type of the current instance. (Inherited from Object.) |
![]() | ToString | Returns a string that represents the current object. (Inherited from Object.) |
| Name | Description | |
|---|---|---|
![]() | AsParallel | Enables parallelization of a query. (Defined by ParallelEnumerable.) |
![]() | AsQueryable | 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.) |
| Name | Description | |
|---|---|---|
![]() ![]() | ICollection.CopyTo | Infrastructure. Copies an X509ChainElementCollection object into an array, starting at the specified index. |
![]() ![]() | IEnumerable.GetEnumerator | Infrastructure. Gets an IEnumerator object that can be used to navigate a collection of chain elements. |
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); 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();
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
