語言

X509VerificationFlags 列舉

定義

指定應該在 X509 鏈結中驗證憑證的條件。

此列舉支援其成員值的位元組合。

public enum class X509VerificationFlags
[System.Flags]
public enum X509VerificationFlags
[<System.Flags>]
type X509VerificationFlags = 
Public Enum X509VerificationFlags
繼承
X509VerificationFlags
屬性

欄位

名稱 值 Description
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 標誌。

適用於