Język

X509Chain.Build(X509Certificate2) Metoda

Definicja

Tworzy łańcuch X.509 przy użyciu zasad określonych w pliku X509ChainPolicy.

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

Parametry

certificate
X509Certificate2

Obiekt X509Certificate2.

Zwraca

true jeśli certyfikat X.509 jest ważny; w przeciwnym razie, false.

Atrybuty

Wyjątki

Element certificate nie jest prawidłowym certyfikatem lub jest null.

Element certificate jest nieczytelny.

Przykłady

Poniższy przykład kodu otwiera osobisty magazyn certyfikatów bieżącego użytkownika, umożliwia wybranie certyfikatu, a następnie zapisanie informacji o certyfikacie i łańcuchu certyfikatów w konsoli programu . Dane wyjściowe zależą od wybranego certyfikatu.

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

Uwagi

Należy pamiętać, że prawidłowy certyfikat X.509 od zaufanego wystawcy jest ważny tylko w przypadku użycia określonego X509ChainPolicy w obiekcie. Certyfikaty spełniające te reguły zasad łańcucha mogą być nadal nieprawidłowe w przypadku określonych zastosowań z takimi funkcjami jak Security/MIME (SMIME), Authenticode lub Secure Sockets Layer (SSL). Jeśli wymagane jest dalsze przetwarzanie w celu określenia, czy certyfikat jest ważny dla określonych zasad, należy utworzyć klasę i X509Chain zastąpić Build metodę tak, aby najpierw wywołuje metodę klasy Build bazowej, a następnie wykonuje dodatkowe przetwarzanie.

Dotyczy