X509VerificationFlags Výčet

Definice

Určuje podmínky, za kterých se má ověřování certifikátů v řetězu X509 provádět.

Tento výčet podporuje bitové kombinace hodnot jeho členů.

public enum class X509VerificationFlags
[System.Flags]
public enum X509VerificationFlags
[<System.Flags>]
type X509VerificationFlags = 
Public Enum X509VerificationFlags
Dědičnost
X509VerificationFlags
Atributy

Pole

AllFlags 4095

Jsou zahrnuty všechny příznaky související s ověřováním.

AllowUnknownCertificateAuthority 16

Ignorujte, že řetěz nelze ověřit kvůli neznámé certifikační autoritě (CA) nebo částečným řetězům.

IgnoreCertificateAuthorityRevocationUnknown 1024

Při určování ověření certifikátu ignorujte, že odvolání certifikační autority není známo.

IgnoreCtlNotTimeValid 2

Při určování ověření certifikátu ignorujte, že seznam důvěryhodnosti certifikátů (CTL) není platný, například kvůli vypršení platnosti hodnoty CTL.

IgnoreCtlSignerRevocationUnknown 512

Při určování ověření certifikátu ignorujte, že odvolání podepisujícího seznamu důvěryhodných certifikátů (CTL) není známo.

IgnoreEndRevocationUnknown 256

Při určování ověření certifikátu ignorujte, že odvolání koncového certifikátu (certifikátu uživatele) je neznámé.

IgnoreInvalidBasicConstraints 8

Při určování ověření certifikátu ignorujte, že základní omezení nejsou platná.

IgnoreInvalidName 64

Při určování ověření certifikátu ignorujte, že certifikát má neplatný název.

IgnoreInvalidPolicy 128

Při určování ověření certifikátu ignorujte, že certifikát má neplatné zásady.

IgnoreNotTimeNested 4

Ignorujte, že certifikát certifikační autority a vydaný certifikát mají období platnosti, které nejsou při ověřování certifikátu vnořené. Certifikát certifikační autority může být například platný od 1. ledna do 1. prosince a vystavený certifikát od 2. ledna do 2. prosince, což by znamenalo, že doby platnosti nejsou vnořené.

IgnoreNotTimeValid 1

Ignorujte certifikáty v řetězci, které nejsou platné, protože vypršela jejich platnost nebo ještě nejsou platné při určování platnosti certifikátu.

IgnoreRootRevocationUnknown 2048

Při určování ověření certifikátu ignorujte, že odvolání kořenového adresáře je neznámé.

IgnoreWrongUsage 32

Při určování ověření certifikátu ignorujte, že certifikát nebyl vydán pro aktuální použití.

NoFlag 0

Nejsou zahrnuty žádné příznaky týkající se ověřování.

Příklady

Následující příklad otevře osobní úložiště certifikátů aktuálního uživatele, umožní uživateli vybrat certifikát a pak zapsat informace o certifikátu a řetězu certifikátů do konzoly. Výstup závisí na certifikátu, který vyberete.

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

Poznámky

Tyto příznaky označují podmínky, za kterých by mělo dojít k ověření řetězu. Pokud například aplikace nevyžaduje platnost časových hodnot certifikátů v řetězu, lze použít příznak IgnoreNotTimeValid.

Platí pro