X509VerificationFlags Enumerazione

Definizione

Specifica le condizioni con cui eseguire la verifica dei certificati nella catena X509.

Questa enumerazione supporta una combinazione bit per bit dei rispettivi valori dei membri.

public enum class X509VerificationFlags
[System.Flags]
public enum X509VerificationFlags
[<System.Flags>]
type X509VerificationFlags = 
Public Enum X509VerificationFlags
Ereditarietà
X509VerificationFlags
Attributi

Campi

AllFlags 4095

Include tutti i flag relativi alla verifica.

AllowUnknownCertificateAuthority 16

Ignorare che la catena non può essere verificata a causa di un'autorità di certificazione sconosciuta (CA) o catene parziali.

IgnoreCertificateAuthorityRevocationUnknown 1024

Ignora che la revoca dell'autorità di certificazione è sconosciuta durante la determinazione della verifica dei certificati.

IgnoreCtlNotTimeValid 2

Ignora che l'elenco certificati attendibili (CTL, Certificate Trust List) non è valido, ad esempio perché il CTL è scaduto, durante la determinazione della verifica dei certificati.

IgnoreCtlSignerRevocationUnknown 512

Ignora che la revoca del firmatario dell'elenco certificati attendibili è sconosciuta durante la determinazione della verifica dei certificati.

IgnoreEndRevocationUnknown 256

Ignora che la revoca del certificato finale (il certificato dell'utente) è sconosciuta durante la determinazione della verifica dei certificati.

IgnoreInvalidBasicConstraints 8

Ignora che i vincoli di base non sono validi durante la determinazione della verifica dei certificati.

IgnoreInvalidName 64

Ignora che il certificato presenta un nome non valido durante la determinazione della verifica dei certificati.

IgnoreInvalidPolicy 128

Ignora che il certificato presenta criteri non validi durante la determinazione della verifica dei certificati.

IgnoreNotTimeNested 4

Ignora che il certificato della CA e il certificato emesso presentano periodi di validità non annidati durante la verifica dei certificati. Ad esempio, il certificato della CA può essere valido dal 1° gennaio al 1° dicembre e il certificato emesso dal 2 gennaio al 2 dicembre, che indica che i periodi di validità non sono annidati.

IgnoreNotTimeValid 1

Ignora i certificati della catena non validi perché scaduti o perché non ancora attivi durante la determinazione della validità dei certificati.

IgnoreRootRevocationUnknown 2048

Ignora che la revoca radice è sconosciuta durante la determinazione della verifica dei certificati.

IgnoreWrongUsage 32

Ignora che il certificato non è stato emesso per l'utilizzo corrente durante la determinazione della verifica dei certificati.

NoFlag 0

Non include alcun flag relativo alla verifica.

Esempio

L'esempio seguente apre l'archivio certificati personali dell'utente corrente, consente all'utente di selezionare un certificato, quindi scrive le informazioni sulla catena di certificati e certificato nella console. L'output dipende dal certificato selezionato.

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

Commenti

Questi flag indicano le condizioni in cui deve verificarsi la catena. Ad esempio, se un'applicazione non richiede i valori temporali dei certificati in una catena da valida, è possibile usare il flag IgnoreNotTimeValid.

Si applica a