X509VerificationFlags Wyliczenie
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Określa warunki, w których należy przeprowadzić weryfikację certyfikatów w łańcuchu X509.
To wyliczenie obsługuje bitową kombinację jego wartości składowych.
public enum class X509VerificationFlags
[System.Flags]
public enum X509VerificationFlags
[<System.Flags>]
type X509VerificationFlags =
Public Enum X509VerificationFlags
- Dziedziczenie
- Atrybuty
Nazwa | Wartość | Opis |
---|---|---|
AllFlags | 4095 | Uwzględniane są wszystkie flagi odnoszące się do weryfikacji. |
AllowUnknownCertificateAuthority | 16 | Ignoruj, że nie można zweryfikować łańcucha z powodu nieznanego urzędu certyfikacji lub łańcuchów częściowych. |
IgnoreCertificateAuthorityRevocationUnknown | 1024 | Ignoruj, że odwołanie urzędu certyfikacji jest nieznane podczas określania weryfikacji certyfikatu. |
IgnoreCtlNotTimeValid | 2 | Ignoruj, że lista zaufania certyfikatów (CTL) jest nieprawidłowa, z powodów takich jak CTL wygasła podczas określania weryfikacji certyfikatu. |
IgnoreCtlSignerRevocationUnknown | 512 | Ignoruj, że odwołanie osoby podpisujące listę zaufania certyfikatów (CTL) jest nieznane podczas określania weryfikacji certyfikatu. |
IgnoreEndRevocationUnknown | 256 | Ignoruj, że odwołanie certyfikatu końcowego (certyfikatu użytkownika) jest nieznane podczas określania weryfikacji certyfikatu. |
IgnoreInvalidBasicConstraints | 8 | Ignoruj, że podstawowe ograniczenia są nieprawidłowe podczas określania weryfikacji certyfikatu. |
IgnoreInvalidName | 64 | Ignoruj, że certyfikat ma nieprawidłową nazwę podczas określania weryfikacji certyfikatu. |
IgnoreInvalidPolicy | 128 | Ignoruj, że certyfikat ma nieprawidłowe zasady podczas określania weryfikacji certyfikatu. |
IgnoreNotTimeNested | 4 | Ignoruj, że certyfikat urzędu certyfikacji (urzędu certyfikacji) i wystawiony certyfikat mają okresy ważności, które nie są zagnieżdżone podczas weryfikowania certyfikatu. Na przykład certyfikat urzędu certyfikacji może być ważny od 1 stycznia do 1 grudnia i wystawiony certyfikat od 2 stycznia do 2 grudnia, co oznacza, że okresy ważności nie są zagnieżdżone. |
IgnoreNotTimeValid | 1 | Ignoruj certyfikaty w łańcuchu, które nie są prawidłowe, ponieważ wygasły lub nie obowiązują jeszcze podczas określania ważności certyfikatu. |
IgnoreRootRevocationUnknown | 2048 | Ignoruj, że odwołanie główne jest nieznane podczas określania weryfikacji certyfikatu. |
IgnoreWrongUsage | 32 | Ignoruj, że certyfikat nie został wystawiony dla bieżącego użycia podczas określania weryfikacji certyfikatu. |
NoFlag | 0 | Nie są uwzględniane żadne flagi odnoszące się do weryfikacji. |
Poniższy przykład otwiera osobisty magazyn certyfikatów bieżącego użytkownika, umożliwia użytkownikowi wybranie certyfikatu, a następnie zapisanie informacji o certyfikacie i łańcuchu certyfikatów w konsoli. Dane wyjściowe zależą od wybranego certyfikatu.
//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)
Te flagi wskazują warunki, w których powinna nastąpić weryfikacja łańcucha. Jeśli na przykład aplikacja nie wymaga, aby wartości czasu certyfikatów w łańcuchu były prawidłowe, można użyć flagi IgnoreNotTimeValid.
Produkt | Wersje |
---|---|
.NET | Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET Framework | 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 1.3, 1.4, 1.6, 2.0, 2.1 |
Opinia o produkcie .NET
.NET to projekt typu open source. Wybierz link, aby przekazać opinię: