X509ChainPolicy クラス
アセンブリ: System (system.dll 内)


X509Certificate2 オブジェクトには、それぞれ検証プロセス用のポリシーを指定する X509ChainPolicy プロパティを割り当てることができます。ただし、X509ChainPolicy オブジェクトを構築できるのは、X509Certificate2 オブジェクトだけです。

現在のユーザーの個人用証明書ストアを開いて、ユーザーが証明書を選択できるようにし、証明書および証明書チェーン情報をコンソールに出力する例を次に示します。出力は、選択した証明書に依存します。
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.Security.Cryptography.X509Certificates.X509ChainPolicy


Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


X509ChainPolicy コンストラクタ
アセンブリ: System (system.dll 内)


Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


X509ChainPolicy プロパティ

名前 | 説明 | |
---|---|---|
![]() | ApplicationPolicy | 証明書でサポートされるアプリケーション ポリシーまたは拡張されたキー使用目的 (EKU) を指定するオブジェクト識別子 (OID) のコレクションを取得します。 |
![]() | CertificatePolicy | 証明書がサポートする証明書ポリシーを指定するオブジェクト識別子 (OID) のコレクションを取得します。 |
![]() | ExtraStore | 証明書チェーンの検証時にチェーン エンジンによって検索される証明書の追加のコレクションを表します。 |
![]() | RevocationFlag | X509 失効フラグの値を取得または設定します。 |
![]() | RevocationMode | X509 証明書失効モードの値を取得または設定します。 |
![]() | UrlRetrievalTimeout | オンライン失効検証時、または証明書失効リスト (CRL) のダウンロード時のタイムアウト時間を取得します。 |
![]() | VerificationFlags | 証明書の検証フラグを取得します。 |
![]() | VerificationTime | 証明書が検証された時刻 (現地時刻)。 |

X509ChainPolicy メソッド

名前 | 説明 | |
---|---|---|
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 ( Object から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。) |
![]() | Reset | X509ChainPolicy の各メンバを既定値にリセットします。 |
![]() | ToString | 現在の Object を表す String を返します。 ( Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( Object から継承されます。) |

X509ChainPolicy メンバ
X509 証明書チェーンを構築する際に適用されるチェーン ポリシーを表します。このクラスは継承できません。
X509ChainPolicy データ型で公開されるメンバを以下の表に示します。


名前 | 説明 | |
---|---|---|
![]() | ApplicationPolicy | 証明書でサポートされるアプリケーション ポリシーまたは拡張されたキー使用目的 (EKU) を指定するオブジェクト識別子 (OID) のコレクションを取得します。 |
![]() | CertificatePolicy | 証明書がサポートする証明書ポリシーを指定するオブジェクト識別子 (OID) のコレクションを取得します。 |
![]() | ExtraStore | 証明書チェーンの検証時にチェーン エンジンによって検索される証明書の追加のコレクションを表します。 |
![]() | RevocationFlag | X509 失効フラグの値を取得または設定します。 |
![]() | RevocationMode | X509 証明書失効モードの値を取得または設定します。 |
![]() | UrlRetrievalTimeout | オンライン失効検証時、または証明書失効リスト (CRL) のダウンロード時のタイムアウト時間を取得します。 |
![]() | VerificationFlags | 証明書の検証フラグを取得します。 |
![]() | VerificationTime | 証明書が検証された時刻 (現地時刻)。 |

名前 | 説明 | |
---|---|---|
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 (Object から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。) |
![]() | Reset | X509ChainPolicy の各メンバを既定値にリセットします。 |
![]() | ToString | 現在の Object を表す String を返します。 (Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) |

- X509ChainPolicyのページへのリンク