Freigeben über


X509Chain.Build(X509Certificate2) Methode

Definition

Erstellt mithilfe der in X509ChainPolicy angegebenen Richtlinie eine X.509-Kette.

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

Parameter

certificate
X509Certificate2

Ein X509Certificate2-Objekt.

Gibt zurück

Boolean

true, wenn das X.509-Zertifikat gültig ist, andernfalls false.

Attribute

Ausnahmen

certificate ist kein gültiges Zertifikat oder null.

certificate kann nicht gelesen werden.

Beispiele

Das folgende Codebeispiel öffnet den persönlichen Zertifikatspeicher des aktuellen Benutzers, ermöglicht es Ihnen, ein Zertifikat auszuwählen, und schreibt dann Zertifikat- und Zertifikatketteinformationen in die Konsole. Die Ausgabe hängt von dem zertifikat ab, das Sie auswählen.

//Output chain information of the selected certificate.
X509Chain ^ ch = gcnew 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.
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)

Hinweise

Beachten Sie, dass ein gültiges X.509-Zertifikat aus einem vertrauenswürdigen Aussteller nur für die verwendung gültig ist, die im X509ChainPolicy Objekt angegeben ist. Zertifikate, die diese Richtlinienregeln erfüllen, können für bestimmte Verwendungen mit bestimmten Funktionen wie Security/MIME (SMIME), Authenticode oder Secure Sockets Layer (SSL) weiterhin ungültig sein. Wenn eine weitere Verarbeitung erforderlich ist, um festzustellen, ob das Zertifikat für eine bestimmte Richtlinie gültig ist, leiten Sie eine Klasse ab X509Chain und überschreiben Build Sie die Methode, sodass sie zuerst die Basisklassenmethode Build aufruft und dann die zusätzliche Verarbeitung ausführt.

Gilt für