X509VerificationFlags Enumeration

Definition

Gibt Bedingungen an, unter denen die Überprüfung von Zertifikaten in der X509-Kette durchgeführt werden soll.

Diese Enumeration unterstützt eine bitweise Kombination ihrer Memberwerte.

public enum class X509VerificationFlags
[System.Flags]
public enum X509VerificationFlags
[<System.Flags>]
type X509VerificationFlags = 
Public Enum X509VerificationFlags
Vererbung
X509VerificationFlags
Attribute

Felder

Name Wert Beschreibung
NoFlag 0

Es sind keine Kennzeichnungen zur Überprüfung enthalten.

IgnoreNotTimeValid 1

Ignorieren Sie Zertifikate in der Kette, die ungültig sind, weil sie abgelaufen sind oder noch nicht wirksam sind, wenn sie die Gültigkeit des Zertifikats bestimmen.

IgnoreCtlNotTimeValid 2

Ignorieren Sie, dass die Zertifikatvertrauensliste (Certificate Trust List, CTL) aus Gründen, z. B. der CTL, ungültig ist, wenn die Zertifikatüberprüfung ermittelt wird.

IgnoreNotTimeNested 4

Ignorieren Sie, dass das Zertifizierungsstellenzertifikat (Zertifizierungsstelle) und das ausgestellte Zertifikat Gültigkeitszeiträume aufweisen, die beim Überprüfen des Zertifikats nicht geschachtelt sind. Beispielsweise kann das Zertifizierungsstellenzertifikat vom 1. Januar bis zum 1. Dezember gültig sein und das ausgestellte Zertifikat vom 2. Januar bis 2. Dezember, was bedeutet, dass die Gültigkeitszeiträume nicht geschachtelt sind.

IgnoreInvalidBasicConstraints 8

Ignorieren Sie, dass die grundlegenden Einschränkungen beim Ermitteln der Zertifikatüberprüfung ungültig sind.

AllowUnknownCertificateAuthority 16

Ignorieren Sie, dass die Kette aufgrund einer unbekannten Zertifizierungsstelle oder teilweisen Ketten nicht überprüft werden kann.

IgnoreWrongUsage 32

Ignorieren Sie, dass das Zertifikat beim Ermitteln der Zertifikatüberprüfung nicht für die aktuelle Verwendung ausgestellt wurde.

IgnoreInvalidName 64

Ignorieren Sie, dass das Zertifikat beim Ermitteln der Zertifikatüberprüfung einen ungültigen Namen hat.

IgnoreInvalidPolicy 128

Ignorieren Sie, dass das Zertifikat beim Ermitteln der Zertifikatüberprüfung ungültig ist.

IgnoreEndRevocationUnknown 256

Ignorieren Sie, dass das Endzertifikat (das Benutzerzertifikat) beim Ermitteln der Zertifikatüberprüfung unbekannt ist.

IgnoreCtlSignerRevocationUnknown 512

Ignorieren Sie, dass die Zertifikatvertrauensliste (CTL)-Signierersperrung beim Ermitteln der Zertifikatüberprüfung unbekannt ist.

IgnoreCertificateAuthorityRevocationUnknown 1024

Ignorieren Sie, dass der Sperrung der Zertifizierungsstelle beim Ermitteln der Zertifikatüberprüfung unbekannt ist.

IgnoreRootRevocationUnknown 2048

Ignorieren Sie, dass der Stammsperrung beim Ermitteln der Zertifikatüberprüfung unbekannt ist.

AllFlags 4095

Alle Kennzeichen zur Überprüfung sind enthalten.

Beispiele

Im folgenden Beispiel wird der persönliche Zertifikatspeicher des aktuellen Benutzers geöffnet, der Benutzer kann ein Zertifikat auswählen und dann Zertifikat- und Zertifikatketteinformationen in die Konsole schreiben. Die Ausgabe hängt vom ausgewählten Zertifikat ab.

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

Diese Kennzeichnungen geben die Bedingungen an, unter denen die Verkettung erfolgen soll. Wenn eine Anwendung z. B. keine Zertifikatzeitwerte in einer Kette als gültig erfordert, kann das IgnoreNotTimeValid-Flag verwendet werden.

Gilt für: