語言

X509Chain.Build(X509Certificate2) 方法

定義

依據 X509ChainPolicy中指定的策略建構 X.509 鏈。

public:
 bool Build(System::Security::Cryptography::X509Certificates::X509Certificate2 ^ certificate);
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public bool Build(System.Security.Cryptography.X509Certificates.X509Certificate2 certificate);
public bool Build(System.Security.Cryptography.X509Certificates.X509Certificate2 certificate);
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
member this.Build : System.Security.Cryptography.X509Certificates.X509Certificate2 -> bool
member this.Build : System.Security.Cryptography.X509Certificates.X509Certificate2 -> bool
Public Function Build (certificate As X509Certificate2) As Boolean

參數

certificate
X509Certificate2

X509Certificate2 物件。

傳回

true若 X.509 證書有效;否則,。 false

屬性

例外狀況

這 certificate 不是有效的憑證,或者是 null。

這 certificate 根本無法辨識。

範例

以下程式碼範例會開啟目前使用者的個人憑證儲存庫,允許你選擇憑證,然後將憑證與憑證鏈資訊寫入主控台。 產出取決於你選擇的證書。

//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)

備註

請注意,來自受信任發行者的有效 X.509 憑證僅適用於物件中 X509ChainPolicy 指定的用途。 符合這些鏈式政策規則的憑證,對於具備安全/MIME(SMIME)、Authenticode 或安全套接層(SSL)等功能的特定用途,仍可能無效。 若需要進一步處理以判斷憑證是否適用於特定政策,則從中衍生出類別 X509Chain 並覆寫該 Build 方法,使其先呼叫基底類別 Build 方法,然後再進行額外處理。

在 Linux 及其他基於 OpenSSL 的平台上,.NET 11 及以後版本限制每鏈 AIA 憑證下載最多可下載兩次。 需要超過兩次AIA下載的鏈條,僅靠這些下載是無法完成的。

適用於