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