Sdílet prostřednictvím


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 týkající se ověření.

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ámé.

IgnoreCtlNotTimeValid 2

Při určování ověření certifikátu ignorujte, že seznam důvěryhodnosti certifikátů (CTL) není platný z důvodů, jako je 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 (uživatelského certifikátu) 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 (certifikační autority) a vydaný certifikát mají doby 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 vydaný certifikát od 2. ledna do 2. prosince, což by znamenalo, že doby platnosti nejsou vnořené.

IgnoreNotTimeValid 1

Ignorovat certifikáty v řetězu, 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ěření.

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 hodnot času certifikátů v řetězu, lze použít příznak IgnoreNotTimeValid.

Platí pro