X509ChainElementCollection X509ChainElementCollection X509ChainElementCollection X509ChainElementCollection Class

Definição

Representa uma coleção de objetos X509ChainElement .Represents a collection of X509ChainElement objects. Essa classe não pode ser herdada.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
Herança
X509ChainElementCollectionX509ChainElementCollectionX509ChainElementCollectionX509ChainElementCollection
Implementações

Exemplos

O exemplo de código a seguir abre o repositório de certificados pessoais do usuário atual, permite que o usuário selecione um certificado e, em seguida, grave as informações de certificado e de cadeia de certificados no console do.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. A saída depende do certificado selecionado.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()

Comentários

Uma instância dessa classe é retornada quando a ChainElements propriedade é chamada.An instance of this class is returned when the ChainElements property is called.

Propriedades

Count Count Count Count

Obtém o número de elementos na coleção.Gets the number of elements in the collection.

IsSynchronized IsSynchronized IsSynchronized IsSynchronized

Obtém um valor que indica se a coleção de elementos de cadeia está sincronizada.Gets a value indicating whether the collection of chain elements is synchronized.

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

Obtém o objeto X509ChainElement no índice especificado.Gets the X509ChainElement object at the specified index.

SyncRoot SyncRoot SyncRoot SyncRoot

Obtém um objeto que pode ser usado para sincronizar o acesso a um objeto X509ChainElementCollection.Gets an object that can be used to synchronize access to an X509ChainElementCollection object.

Métodos

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

Copia um objeto X509ChainElementCollection em uma matriz, começando no índice especificado.Copies an X509ChainElementCollection object into an array, starting at the specified index.

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

Determina se o objeto especificado é igual ao objeto atual.Determines whether the specified object is equal to the current object.

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

Obtém um objeto X509ChainElementEnumerator que pode ser usado para navegar em uma coleção de elementos de cadeia.Gets an X509ChainElementEnumerator object that can be used to navigate through a collection of chain elements.

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

Serve como a função de hash padrão.Serves as the default hash function.

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

Obtém o Type da instância atual.Gets the Type of the current instance.

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

Cria uma cópia superficial do Object atual.Creates a shallow copy of the current Object.

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

Retorna uma cadeia de caracteres que representa o objeto atual.Returns a string that represents the current object.

(Inherited from Object)

Implantações explícitas de interface

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

Copia um objeto X509ChainElementCollection em uma matriz, começando no índice especificado.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()

Obtém um objeto IEnumerator que pode ser usado para navegar em uma coleção de elementos de cadeia.Gets an IEnumerator object that can be used to navigate a collection of chain elements.

Métodos de Extensão

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

Converte os elementos de um IEnumerable para o tipo especificado.Casts the elements of an IEnumerable to the specified type.

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

Filtra os elementos de um IEnumerable com base em um tipo especificado.Filters the elements of an IEnumerable based on a specified type.

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

Habilita a paralelização de uma consulta.Enables parallelization of a query.

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

Converte um IEnumerable em um IQueryable.Converts an IEnumerable to an IQueryable.

Aplica-se a