X509VerificationFlags Enumeration
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
- 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 teilweiser Ketten 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
Das folgende Beispiel öffnet den persönlichen Zertifikatspeicher des aktuellen Benutzers, ermöglicht es dem Benutzer, ein Zertifikat auszuwählen und dann Zertifikat- und Zertifikatketteninformationen in die Konsole zu 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ültigkeitsdauer von Zertifikaten in einer Kette erfordert, kann das IgnoreNotTimeValid-Flag verwendet werden.