X509ChainElementCollection X509ChainElementCollection X509ChainElementCollection X509ChainElementCollection Class

定義

X509ChainElement オブジェクトのコレクションを表します。Represents a collection of X509ChainElement objects. このクラスは継承できません。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
継承
X509ChainElementCollectionX509ChainElementCollectionX509ChainElementCollectionX509ChainElementCollection
実装

次のコード例では、現在のユーザーの個人証明書ストアを開き、ユーザーが証明書を選択して、証明書と証明書チェーンの情報をコンソールに書き込むことができるようにします。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();
    //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()

注釈

ChainElementsプロパティが呼び出されると、このクラスのインスタンスが返されます。An instance of this class is returned when the ChainElements property is called.

プロパティ

Count Count Count Count

コレクション内の要素の数を取得します。Gets the number of elements in the collection.

IsSynchronized IsSynchronized IsSynchronized IsSynchronized

チェーン要素のコレクションの同期がとられているかどうかを示す値を取得します。Gets a value indicating whether the collection of chain elements is synchronized.

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

指定したインデックス位置にある X509ChainElement オブジェクトを取得します。Gets the X509ChainElement object at the specified index.

SyncRoot SyncRoot SyncRoot SyncRoot

X509ChainElementCollection オブジェクトへのアクセスを同期するために使用できるオブジェクトを取得します。Gets an object that can be used to synchronize access to an X509ChainElementCollection object.

メソッド

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

指定したインデックスを開始位置として、配列に X509ChainElementCollection オブジェクトをコピーします。Copies an X509ChainElementCollection object into an array, starting at the specified index.

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

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

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

チェーン要素のコレクション内を移動するために使用できる X509ChainElementEnumerator オブジェクトを取得します。Gets an X509ChainElementEnumerator object that can be used to navigate through a collection of chain elements.

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

既定のハッシュ関数として機能します。Serves as the default hash function.

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

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

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

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

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

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(Inherited from Object)

明示的なインターフェイスの実装

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

指定したインデックスを開始位置として、配列に X509ChainElementCollection オブジェクトをコピーします。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()

チェーンの要素のコレクション内を移動するために使用できる IEnumerator オブジェクトを取得します。Gets an IEnumerator object that can be used to navigate a collection of chain elements.

拡張メソッド

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

IEnumerable の要素を、指定した型にキャストします。Casts the elements of an IEnumerable to the specified type.

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

指定された型に基づいて IEnumerable の要素をフィルター処理します。Filters the elements of an IEnumerable based on a specified type.

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

クエリの並列化を有効にします。Enables parallelization of a query.

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

IEnumerableIQueryable に変換します。Converts an IEnumerable to an IQueryable.

適用対象