X509VerificationFlags Wyliczenie

Definicja

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
X509VerificationFlags
Atrybuty

Pola

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.

Przykłady

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)

Uwagi

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.

Dotyczy