X509VerificationFlags Énumération
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Spécifie les conditions dans lesquelles la vérification des certificats de la chaîne X509 doit être effectuée.
Cette énumération prend en charge une combinaison au niveau du bit de ses valeurs membres.
public enum class X509VerificationFlags
[System.Flags]
public enum X509VerificationFlags
[<System.Flags>]
type X509VerificationFlags =
Public Enum X509VerificationFlags
- Héritage
- Attributs
Champs
AllFlags | 4095 | Tous les indicateurs liés à la vérification sont inclus. |
AllowUnknownCertificateAuthority | 16 | Ignorez que la chaîne ne peut pas être vérifiée en raison d’une autorité de certification inconnue ou de chaînes partielles. |
IgnoreCertificateAuthorityRevocationUnknown | 1024 | Ignore que la révocation de l'autorité de certification est inconnue lors de la détermination de la vérification du certificat. |
IgnoreCtlNotTimeValid | 2 | Ignore que la liste de certificats de confiance (CTL, Certificate Trust List) n'est pas valide, pour des raisons telles que l'expiration de la liste CTL, lors de la détermination de la vérification du certificat. |
IgnoreCtlSignerRevocationUnknown | 512 | Ignore que la révocation du signataire de la liste de certificats de confiance (CTL, Certificate Trust List) est inconnue lors de la détermination de la vérification du certificat. |
IgnoreEndRevocationUnknown | 256 | Ignore que la révocation du certificat (utilisateur) final est inconnue lors de la détermination de la vérification du certificat. |
IgnoreInvalidBasicConstraints | 8 | Ignore que les contraintes de base ne sont pas valides lors de la détermination de la vérification du certificat. |
IgnoreInvalidName | 64 | Ignore que le certificat a un nom qui n'est pas valide lors de la détermination de la vérification du certificat. |
IgnoreInvalidPolicy | 128 | Ignore que le certificat a une stratégie qui n'est pas valide lors de la détermination de la vérification du certificat. |
IgnoreNotTimeNested | 4 | Ignore que le certificat de l'autorité de certification et que le certificat émis ont des périodes de validité qui ne sont pas imbriquées lors de la vérification du certificat. Par exemple, le certificat d'autorité de certification peut être valide du 1er janvier au 1er décembre et le certificat émis du 2 janvier au 2 décembre, ce qui signifie que les périodes de validité ne sont pas imbriquées. |
IgnoreNotTimeValid | 1 | Ignore les certificats de la chaîne qui ne sont pas valides soit parce qu'ils ont expiré, soir parce qu'ils ne sont pas encore en vigueur lors de la détermination de la validité du certificat. |
IgnoreRootRevocationUnknown | 2048 | Ignore que la révocation de la racine est inconnue lors de la détermination de la vérification du certificat. |
IgnoreWrongUsage | 32 | Ignore que le certificat n'a pas été émis pour son utilisation actuelle lors de la détermination de la vérification du certificat. |
NoFlag | 0 | Aucun indicateur lié à la vérification n'est inclus. |
Exemples
L’exemple suivant ouvre le magasin de certificats personnel de l’utilisateur actuel, permet à l’utilisateur de sélectionner un certificat, puis écrit des informations sur le certificat et la chaîne de certificats dans la console. La sortie dépend du certificat que vous sélectionnez.
//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)
Remarques
Ces indicateurs indiquent les conditions dans lesquelles la vérification de la chaîne doit se produire. Par exemple, si une application ne nécessite pas que les valeurs de temps des certificats dans une chaîne soient valides, l’indicateur IgnoreNotTimeValid peut être utilisé.