X509ChainElementCollection Class
Collapse the table of content
Expand the table of content

X509ChainElementCollection Class

 

Represents a collection of X509ChainElement objects. This class cannot be inherited.

Namespace:   System.Security.Cryptography.X509Certificates
Assembly:  System (in System.dll)

System.Object
  System.Security.Cryptography.X509Certificates.X509ChainElementCollection

public sealed class X509ChainElementCollection : ICollection, 
	IEnumerable

NameDescription
System_CAPS_pubpropertyCount

Gets the number of elements in the collection.

System_CAPS_pubpropertyIsSynchronized

Gets a value indicating whether the collection of chain elements is synchronized.

System_CAPS_pubpropertyItem[Int32]

Gets the X509ChainElement object at the specified index.

System_CAPS_pubpropertySyncRoot

Gets an object that can be used to synchronize access to an X509ChainElementCollection object.

NameDescription
System_CAPS_pubmethodCopyTo(X509ChainElement[], Int32)

Copies an X509ChainElementCollection object into an array, starting at the specified index.

System_CAPS_pubmethodEquals(Object)

Determines whether the specified object is equal to the current object.(Inherited from Object.)

System_CAPS_pubmethodGetEnumerator()

Gets an X509ChainElementEnumerator object that can be used to navigate through a collection of chain elements.

System_CAPS_pubmethodGetHashCode()

Serves as the default hash function. (Inherited from Object.)

System_CAPS_pubmethodGetType()

Gets the Type of the current instance.(Inherited from Object.)

System_CAPS_pubmethodToString()

Returns a string that represents the current object.(Inherited from Object.)

NameDescription
System_CAPS_pubinterfaceSystem_CAPS_privmethodICollection.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.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIEnumerable.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.

NameDescription
System_CAPS_pubmethodAsParallel()

Overloaded. Enables parallelization of a query.(Defined by ParallelEnumerable.)

System_CAPS_pubmethodAsQueryable()

Overloaded. Converts an IEnumerable to an IQueryable.(Defined by Queryable.)

System_CAPS_pubmethodCast<TResult>()

Casts the elements of an IEnumerable to the specified type.(Defined by Enumerable.)

System_CAPS_pubmethodOfType<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);

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

Universal Windows Platform
Available since 10
.NET Framework
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.

Return to top
Show:
© 2016 Microsoft