X509VerificationFlags Enumeration

Definition

Gibt Bedingungen für die Überprüfung von Zertifikaten in der X509-Kette an.

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

AllFlags 4095

Alle Flags werden berücksichtigt, die die Überprüfung betreffen.

AllowUnknownCertificateAuthority 16

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

IgnoreCertificateAuthorityRevocationUnknown 1024

Beim Bestimmen der Zertifikatsüberprüfung wird ignoriert, dass die Zertifizierungsstellensperre unbekannt ist.

IgnoreCtlNotTimeValid 2

Beim Bestimmen der Zertifikatsüberprüfung wird ignoriert, dass die Zertifikatsvertrauensliste ungültig ist, beispielsweise wegen des Ablaufs der Zertifikatsvertrauensliste.

IgnoreCtlSignerRevocationUnknown 512

Beim Bestimmen der Zertifikatsüberprüfung wird ignoriert, dass die Signaturgebersperre der Zertifikatsvertrauensliste unbekannt ist.

IgnoreEndRevocationUnknown 256

Beim Bestimmen der Zertifikatsüberprüfung wird ignoriert, dass die Sperre des Endzertifikats (des Benutzerzertifikats) unbekannt ist.

IgnoreInvalidBasicConstraints 8

Beim Bestimmen der Zertifikatsüberprüfung wird ignoriert, dass die Basiseinschränkungen ungültig sind.

IgnoreInvalidName 64

Beim Bestimmen der Zertifikatsüberprüfung wird ignoriert, dass der Name des Zertifikats ungültig ist.

IgnoreInvalidPolicy 128

Beim Bestimmen der Zertifikatsüberprüfung wird ignoriert, dass das Zertifikat ungültige Richtlinien enthält.

IgnoreNotTimeNested 4

Beim Überprüfen des Zertifikats wird ignoriert, dass das Zertifikat der Zertifizierungsstelle und das ausgestellte Zertifikat nicht geschachtelte Gültigkeitsperioden enthalten. Das Zertifikat der Zertifizierungsstelle kann z. B. vom 01.01. bis zum 01.12. und das ausgestellte Zertifikat vom 02.01. bis zum 02.12. gültig sein, was bedeutet, dass die Gültigkeitszeiträume nicht geschachtelt sind.

IgnoreNotTimeValid 1

Beim Bestimmen der Zertifikatsgültigkeit wird ignoriert, dass Zertifikate in der Kette ungültig sind, weil sie abgelaufen oder noch nicht wirksam sind.

IgnoreRootRevocationUnknown 2048

Beim Bestimmen der Zertifikatsüberprüfung wird ignoriert, dass die Stammsperre unbekannt ist.

IgnoreWrongUsage 32

Beim Bestimmen der Zertifikatsüberprüfung wird ignoriert, dass das Zertifikat nicht für die derzeitige Verwendung ausgestellt wurde.

NoFlag 0

Es werden keine Flags berücksichtigt, die die Überprüfung betreffen.

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 Zertifikatketteninformationen in die Konsole schreiben. Die Ausgabe hängt vom ausgewählten Zertifikat ab.

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

Diese Flags geben die Bedingungen an, unter denen die Kettenüberprüfung erfolgen soll. Wenn eine Anwendung beispielsweise keine Gültigkeitsdauerwerte für Zertifikate in einer Kette benötigt, kann das IgnoreNotTimeValid-Flag verwendet werden.

Gilt für: