X509VerificationFlags Enumerazione
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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à
- 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.