X509Chainとは? わかりやすく解説

X509Chain クラス

メモ : このクラスは、.NET Framework version 2.0 で新しく追加されたものです。

X509Certificate2 証明書のチェーン作成エンジンを表します。

名前空間: System.Security.Cryptography.X509Certificates
アセンブリ: System (system.dll 内)
構文構文

public class X509Chain
public ref class X509Chain
public class X509Chain
public class X509Chain
解説解説
使用例使用例

現在のユーザーの個人用証明書ストアを開いて、証明書を選択できるようにし、証明書および証明書チェーン情報をコンソールに出力するコード例を次に示します。出力は、選択した証明書に依存します。

using System;
using System.Security.Cryptography;
using System.Security.Cryptography.X509Certificates;
using System.IO;

class TestX509Chain
{
    static void Main(string[]
 args)
    {
        //Create new X509 store from local certificate store.
        X509Store store = new X509Store("MY", StoreLocation.CurrentUser);
        store.Open(OpenFlags.OpenExistingOnly | OpenFlags.ReadWrite);

        //Output store information.
        Console.WriteLine ("Store Information");
        Console.WriteLine ("Number of certificates in the
 store: {0}", store.Certificates.Count);
        Console.WriteLine ("Store location: {0}", store.Location);
        Console.WriteLine ("Store name: {0} {1}", store.Name, Environment.NewLine);
    
        //Put certificates from the store into a collection so user
 can select one.
        X509Certificate2Collection fcollection = (X509Certificate2Collection)store.Certificates;
        X509Certificate2Collection collection = X509Certificate2UI.SelectFromCollection(fcollection,
 "Select an X509 Certificate", "Choose a certificate to examine.",
 X509SelectionFlag.SingleSelection);
        X509Certificate2 certificate = collection[0];
        X509Certificate2UI.DisplayCertificate(certificate);
        //Output chain information of the selected certificate.
        X509Chain ch = new X509Chain();
        ch.Build (certificate);
        Console.WriteLine ("Chain Information");
        ch.ChainPolicy.RevocationMode = X509RevocationMode.Online;
        Console.WriteLine ("Chain revocation flag: {0}", ch.ChainPolicy.RevocationFlag);
        Console.WriteLine ("Chain revocation mode: {0}", ch.ChainPolicy.RevocationMode);
        Console.WriteLine ("Chain verification flag: {0}", ch.ChainPolicy.VerificationFlags);
        Console.WriteLine ("Chain verification time: {0}", ch.ChainPolicy.VerificationTime);
        Console.WriteLine ("Chain status length: {0}", ch.ChainStatus.Length);
        Console.WriteLine ("Chain application policy count: {0}", ch.ChainPolicy.ApplicationPolicy.Count);
        Console.WriteLine ("Chain certificate policy count: {0} {1}", ch.ChainPolicy.CertificatePolicy.Count,
 Environment.NewLine);
        //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();
    }
}
継承階層継承階層
System.Object
  System.Security.Cryptography.X509Certificates.X509Chain
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
X509Chain メンバ
System.Security.Cryptography.X509Certificates 名前空間

X509Chain コンストラクタ ()

メモ : このコンストラクタは、.NET Framework version 2.0 で新しく追加されたものです。

X509Chain クラスの新しいインスタンスを初期化します。

名前空間: System.Security.Cryptography.X509Certificates
アセンブリ: System (system.dll 内)
構文構文

使用例使用例

現在のユーザーの個人用証明書ストアを開いて、証明書を選択できるようにし、証明書および証明書チェーン情報をコンソールに出力するコード例を次に示します。出力は、選択した証明書に依存します。

//Output chain information of the selected certificate.
X509Chain ch = new X509Chain();
ch.Build (certificate);
Console.WriteLine ("Chain Information");
ch.ChainPolicy.RevocationMode = X509RevocationMode.Online;
Console.WriteLine ("Chain revocation flag: {0}", ch.ChainPolicy.RevocationFlag);
Console.WriteLine ("Chain revocation mode: {0}", ch.ChainPolicy.RevocationMode);
Console.WriteLine ("Chain verification flag: {0}", ch.ChainPolicy.VerificationFlags);
Console.WriteLine ("Chain verification time: {0}", ch.ChainPolicy.VerificationTime);
Console.WriteLine ("Chain status length: {0}", ch.ChainStatus.Length);
Console.WriteLine ("Chain application policy count: {0}", ch.ChainPolicy.ApplicationPolicy.Count);
Console.WriteLine ("Chain certificate policy count: {0} {1}", ch.ChainPolicy.CertificatePolicy.Count,
 Environment.NewLine);
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
X509Chain クラス
X509Chain メンバ
System.Security.Cryptography.X509Certificates 名前空間

X509Chain コンストラクタ (Boolean)

メモ : このコンストラクタは、.NET Framework version 2.0 で新しく追加されたものです。

コンピュータのコンテキストを使用するかどうかを示す値を指定して、X509Chain クラスの新しいインスタンスを初期化します。

名前空間: System.Security.Cryptography.X509Certificates
アセンブリ: System (system.dll 内)
構文構文

Public Sub New ( _
    useMachineContext As Boolean _
)
Dim useMachineContext As Boolean

Dim instance As New X509Chain(useMachineContext)
public X509Chain (
    bool useMachineContext
)
public:
X509Chain (
    bool useMachineContext
)
public X509Chain (
    boolean useMachineContext
)
public function X509Chain (
    useMachineContext : boolean
)

パラメータ

useMachineContext

コンピュータのコンテキストを使用する場合は true。現在のユーザーのコンテキストを使用する場合は false。

解説解説
使用例使用例

現在のユーザーの個人用証明書ストアを開いて、証明書を選択できるようにし、証明書および証明書チェーン情報をコンソールに出力するコード例を次に示します。出力は、選択した証明書に依存します。

//Output chain information of the selected certificate.
X509Chain ch = new X509Chain();
ch.Build (certificate);
Console.WriteLine ("Chain Information");
ch.ChainPolicy.RevocationMode = X509RevocationMode.Online;
Console.WriteLine ("Chain revocation flag: {0}", ch.ChainPolicy.RevocationFlag);
Console.WriteLine ("Chain revocation mode: {0}", ch.ChainPolicy.RevocationMode);
Console.WriteLine ("Chain verification flag: {0}", ch.ChainPolicy.VerificationFlags);
Console.WriteLine ("Chain verification time: {0}", ch.ChainPolicy.VerificationTime);
Console.WriteLine ("Chain status length: {0}", ch.ChainStatus.Length);
Console.WriteLine ("Chain application policy count: {0}", ch.ChainPolicy.ApplicationPolicy.Count);
Console.WriteLine ("Chain certificate policy count: {0} {1}", ch.ChainPolicy.CertificatePolicy.Count,
 Environment.NewLine);
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
X509Chain クラス
X509Chain メンバ
System.Security.Cryptography.X509Certificates 名前空間

X509Chain コンストラクタ (IntPtr)

メモ : このコンストラクタは、.NET Framework version 2.0 で新しく追加されたものです。

X.509 チェーンを識別する IntPtr ハンドルを使用して X509Chain クラスの新しいインスタンスを初期化します。

名前空間: System.Security.Cryptography.X509Certificates
アセンブリ: System (system.dll 内)
構文構文

Public Sub New ( _
    chainContext As IntPtr _
)
Dim chainContext As IntPtr

Dim instance As New X509Chain(chainContext)
public X509Chain (
    IntPtr chainContext
)
public:
X509Chain (
    IntPtr chainContext
)
public X509Chain (
    IntPtr chainContext
)
public function X509Chain (
    chainContext : IntPtr
)

パラメータ

chainContext

X.509 チェーンを識別する IntPtr ハンドル。

例外例外
例外の種類条件

ArgumentNullException

chainContext パラメータが null 参照 (Visual Basic では Nothing) です。

CryptographicException

chainContext パラメータが無効なコンテキストを指しています。

解説解説
.NET Framework のセキュリティ.NET Framework のセキュリティ
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
X509Chain クラス
X509Chain メンバ
System.Security.Cryptography.X509Certificates 名前空間

X509Chain コンストラクタ


X509Chain プロパティ


パブリック プロパティパブリック プロパティ

  名前 説明
パブリック プロパティ ChainContext X.509 チェーンを識別するハンドルを取得します。
パブリック プロパティ ChainElements X509ChainElement オブジェクトのコレクションを取得します。
パブリック プロパティ ChainPolicy X.509 証明書チェーンを作成するときに使用する X509ChainPolicy を取得または設定します。
パブリック プロパティ ChainStatus X509Chain オブジェクト内の各要素の状態を取得します。
参照参照

関連項目

X509Chain クラス
System.Security.Cryptography.X509Certificates 名前空間

X509Chain メソッド


パブリック メソッドパブリック メソッド

プロテクト メソッドプロテクト メソッド
参照参照

関連項目

X509Chain クラス
System.Security.Cryptography.X509Certificates 名前空間

X509Chain メンバ

X509Certificate2 証明書のチェーン作成エンジンを表します。

X509Chain データ型で公開されるメンバを以下の表に示します。


パブリック コンストラクタパブリック コンストラクタ
パブリック プロパティパブリック プロパティ
  名前 説明
パブリック プロパティ ChainContext X.509 チェーンを識別するハンドルを取得します。
パブリック プロパティ ChainElements X509ChainElement オブジェクトのコレクションを取得します。
パブリック プロパティ ChainPolicy X.509 証明書チェーンを作成するときに使用する X509ChainPolicy を取得または設定します。
パブリック プロパティ ChainStatus X509Chain オブジェクト内の各要素の状態を取得します。
パブリック メソッドパブリック メソッド
プロテクト メソッドプロテクト メソッド
参照参照

関連項目

X509Chain クラス
System.Security.Cryptography.X509Certificates 名前空間



英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

「X509Chain」の関連用語

X509Chainのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



X509Chainのページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS