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 in base alle quali deve essere eseguita 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
| Nome | Valore | Descrizione |
|---|---|---|
| NoFlag | 0 | Non sono inclusi flag relativi alla verifica. |
| IgnoreNotTimeValid | 1 | Ignorare i certificati nella catena che non sono validi perché sono scaduti o non sono ancora in vigore quando si determina la validità del certificato. |
| IgnoreCtlNotTimeValid | 2 | Ignorare che l'elenco di certificati attendibili (CTL) non è valido, per motivi quali il CTL è scaduto, quando si determina la verifica del certificato. |
| IgnoreNotTimeNested | 4 | Ignorare che il certificato ca (autorità di certificazione) e il certificato emesso abbiano periodi di validità che non sono annidati durante la verifica del certificato. Ad esempio, il certificato ca può essere valido dal 1° gennaio al 1° dicembre e il certificato emesso dal 2 gennaio al 2 dicembre, il che significa che i periodi di validità non sono annidati. |
| IgnoreInvalidBasicConstraints | 8 | Ignorare che i vincoli di base non sono validi quando si determina la verifica del certificato. |
| AllowUnknownCertificateAuthority | 16 | Ignorare che la catena non può essere verificata a causa di un'autorità di certificazione (CA) sconosciuta o di catene parziali. |
| IgnoreWrongUsage | 32 | Ignorare che il certificato non è stato emesso per l'uso corrente durante la determinazione della verifica del certificato. |
| IgnoreInvalidName | 64 | Ignorare che il certificato ha un nome non valido durante la determinazione della verifica del certificato. |
| IgnoreInvalidPolicy | 128 | Ignorare che il certificato abbia criteri non validi per determinare la verifica del certificato. |
| IgnoreEndRevocationUnknown | 256 | Ignorare che la revoca del certificato finale (certificato utente) è sconosciuta durante la determinazione della verifica del certificato. |
| IgnoreCtlSignerRevocationUnknown | 512 | Ignorare che la revoca del firmatario CTL (Certificate Trust List) è sconosciuta durante la determinazione della verifica del certificato. |
| IgnoreCertificateAuthorityRevocationUnknown | 1024 | Ignorare che la revoca dell'autorità di certificazione è sconosciuta durante la determinazione della verifica del certificato. |
| IgnoreRootRevocationUnknown | 2048 | Ignorare che la revoca radice è sconosciuta durante la determinazione della verifica del certificato. |
| AllFlags | 4095 | Sono inclusi tutti i flag relativi 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 sul certificato e sulla catena di certificati nella console. L'output dipende dal certificato selezionato.
//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 verifica della catena. Ad esempio, se un'applicazione non richiede che i valori temporali dei certificati in una catena siano validi, è possibile usare il flag IgnoreNotTimeValid.