X509ChainElementCollection X509ChainElementCollection X509ChainElementCollection X509ChainElementCollection Class

Definition

Stellt eine Auflistung vonX509ChainElement-Objekten dar.Represents a collection of X509ChainElement objects. Diese Klasse kann nicht vererbt werden.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
Vererbung
X509ChainElementCollectionX509ChainElementCollectionX509ChainElementCollectionX509ChainElementCollection
Implementiert

Beispiele

Im folgenden Codebeispiel wird öffnet persönlichen Zertifikatspeicher des aktuellen Benutzers, kann der Benutzer ein Zertifikat auswählen und Zertifikats und Zertifikatinformationen der Kette in die Konsole geschrieben.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. Die Ausgabe hängt von den von Ihnen ausgewählten Zertifikats ab.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()

Hinweise

Eine Instanz dieser Klasse wird zurückgegeben, wenn die ChainElements -Eigenschaft aufgerufen wird.An instance of this class is returned when the ChainElements property is called.

Eigenschaften

Count Count Count Count

Ruft die Anzahl der Elemente in der Auflistung ab.Gets the number of elements in the collection.

IsSynchronized IsSynchronized IsSynchronized IsSynchronized

Ruft einen Wert ab, der angibt, ob die Auflistung der Kettenelemente synchronisiert ist.Gets a value indicating whether the collection of chain elements is synchronized.

Item[Int32] Item[Int32] Item[Int32] Item[Int32]

Ruft das X509ChainElement-Objekt am angegebenen Index ab.Gets the X509ChainElement object at the specified index.

SyncRoot SyncRoot SyncRoot SyncRoot

Ruft ein Objekt ab, mit dem der Zugriff auf ein X509ChainElementCollection-Objekt synchronisiert werden kann.Gets an object that can be used to synchronize access to an X509ChainElementCollection object.

Methoden

CopyTo(X509ChainElement[], Int32) CopyTo(X509ChainElement[], Int32) CopyTo(X509ChainElement[], Int32) CopyTo(X509ChainElement[], Int32)

Kopiert ein X509ChainElementCollection-Objekt in ein Array, wobei am angegebenen Index begonnen wird.Copies an X509ChainElementCollection object into an array, starting at the specified index.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetEnumerator() GetEnumerator() GetEnumerator() GetEnumerator()

Ruft ein X509ChainElementEnumerator-Objekt ab, mit dem durch eine Auflistung von Kettenelementen navigiert werden kann.Gets an X509ChainElementEnumerator object that can be used to navigate through a collection of chain elements.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Fungiert als Standardhashfunktion.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Inherited from Object)

Explizite Schnittstellenimplementierungen

ICollection.CopyTo(Array, Int32) ICollection.CopyTo(Array, Int32) ICollection.CopyTo(Array, Int32) ICollection.CopyTo(Array, Int32)

Kopiert ein X509ChainElementCollection-Objekt in ein Array, wobei am angegebenen Index begonnen wird.Copies an X509ChainElementCollection object into an array, starting at the specified index.

ICollection.IsSynchronized ICollection.IsSynchronized ICollection.IsSynchronized ICollection.IsSynchronized
ICollection.SyncRoot ICollection.SyncRoot ICollection.SyncRoot ICollection.SyncRoot
IEnumerable.GetEnumerator() IEnumerable.GetEnumerator() IEnumerable.GetEnumerator() IEnumerable.GetEnumerator()

Ruft ein IEnumerator-Objekt ab, mit dem durch eine Auflistung von Kettenelementen navigiert werden kann.Gets an IEnumerator object that can be used to navigate a collection of chain elements.

Extension Methods

Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable)

Wandelt die Elemente eines IEnumerable in den angegebenen Typ umCasts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable)

Filtert die Elemente eines IEnumerable anhand eines angegebenen TypsFilters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable)

Ermöglicht die Parallelisierung einer Abfrage.Enables parallelization of a query.

AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable)

Konvertiert eine IEnumerable auf eine IQueryable.Converts an IEnumerable to an IQueryable.

Gilt für: