X509VerificationFlags 列挙型
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
X509 チェーン内の証明書の検証を実行する条件を指定します。
この列挙体は、メンバー値のビットごとの組み合わせをサポートしています。
public enum class X509VerificationFlags
[System.Flags]
public enum X509VerificationFlags
[<System.Flags>]
type X509VerificationFlags =
Public Enum X509VerificationFlags
- 継承
- 属性
フィールド
| 名前 | 値 | 説明 |
|---|---|---|
| NoFlag | 0 | 検証に関連するフラグは含まれません。 |
| IgnoreNotTimeValid | 1 | 有効期限が切れているか、証明書の有効性を判断するときにまだ有効になっていないため、無効なチェーン内の証明書は無視します。 |
| IgnoreCtlNotTimeValid | 2 | 証明書の検証を決定するときに、CTL の有効期限が切れているなどの理由で、証明書信頼リスト (CTL) が無効であることを無視します。 |
| IgnoreNotTimeNested | 4 | CA (証明機関) 証明書と発行された証明書の有効期間が、証明書の検証時に入れ子になっていないことを無視します。 たとえば、CA 証明書は 1 月 1 日から 12 月 1 日まで有効で、発行された証明書は 1 月 2 日から 12 月 2 日まで有効です。これは、有効期間が入れ子になっていないことを意味します。 |
| IgnoreInvalidBasicConstraints | 8 | 証明書の検証を決定するときに、基本制約が無効であることを無視します。 |
| AllowUnknownCertificateAuthority | 16 | 不明な証明機関 (CA) または部分チェーンが原因でチェーンを検証できないことを無視します。 |
| IgnoreWrongUsage | 32 | 証明書の検証を決定するときに、現在の使用に対して証明書が発行されなかったことを無視します。 |
| IgnoreInvalidName | 64 | 証明書の検証を決定するときに、証明書に無効な名前があることを無視します。 |
| IgnoreInvalidPolicy | 128 | 証明書の検証を決定するときに、証明書に無効なポリシーがあることを無視します。 |
| IgnoreEndRevocationUnknown | 256 | 証明書の検証を決定するときに、エンド証明書 (ユーザー証明書) の失効が不明であることを無視します。 |
| IgnoreCtlSignerRevocationUnknown | 512 | 証明書の検証を決定するときに、証明書信頼リスト (CTL) 署名者の失効が不明であることを無視します。 |
| IgnoreCertificateAuthorityRevocationUnknown | 1024 | 証明書の検証を決定するときに、証明機関の失効が不明であることを無視します。 |
| IgnoreRootRevocationUnknown | 2048 | 証明書の検証を決定するときに、ルート失効が不明であることを無視します。 |
| AllFlags | 4095 | 検証に関連するすべてのフラグが含まれます。 |
例
次の例では、現在のユーザーの個人用証明書ストアを開き、ユーザーが証明書を選択できるようにしてから、証明書と証明書チェーンの情報をコンソールに書き込みます。 出力は、選択した証明書によって異なります。
//Output chain information of the selected certificate.
X509Chain ch = new X509Chain();
ch.ChainPolicy.RevocationMode = X509RevocationMode.Online;
ch.Build (certificate);
Console.WriteLine ("Chain Information");
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 information of the selected certificate.
Dim ch As New X509Chain()
ch.ChainPolicy.RevocationMode = X509RevocationMode.Online
ch.Build(certificate)
Console.WriteLine("Chain Information")
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)
注釈
これらのフラグは、チェーン検証を実行する条件を示します。 たとえば、アプリケーションでチェーン内の証明書の時刻値を有効にする必要がない場合は、IgnoreNotTimeValid フラグを使用できます。