X509VerificationFlags Enumeración

Definición

Especifica las condiciones bajo las que se debe realizar la comprobación de certificados en la cadena X509.

Esta enumeración admite una combinación bit a bit de sus valores de miembro.

public enum class X509VerificationFlags
[System.Flags]
public enum X509VerificationFlags
[<System.Flags>]
type X509VerificationFlags = 
Public Enum X509VerificationFlags
Herencia
X509VerificationFlags
Atributos

Campos

AllFlags 4095

Se incluyen todos los marcadores que pertenecen a la comprobación.

AllowUnknownCertificateAuthority 16

Ignore que la cadena no se puede comprobar debido a una entidad de certificación (CA) desconocida o a cadenas parciales.

IgnoreCertificateAuthorityRevocationUnknown 1024

Se omite el hecho de que, a la hora de determinar la comprobación del certificado, la revocación de la entidad de certificación sea desconocida.

IgnoreCtlNotTimeValid 2

Se omite el hecho de que, a la hora de determinar la comprobación del certificado, la lista de certificados de confianza (CTL) no sea válida porque, por ejemplo, haya expirado.

IgnoreCtlSignerRevocationUnknown 512

Se omite el hecho de que, a la hora de determinar la comprobación del certificado, la revocación del firmante de la lista de certificados de confianza (CTL) sea desconocida.

IgnoreEndRevocationUnknown 256

Se omite el hecho de que, a la hora de determinar la comprobación del certificado, la revocación del certificado final (el certificado de usuario) sea desconocida.

IgnoreInvalidBasicConstraints 8

Se omite el hecho de que, a la hora de determinar la comprobación del certificado, las restricciones básicas no sean válidas.

IgnoreInvalidName 64

Se omite el hecho de que, a la hora de determinar la comprobación del certificado, el nombre del certificado no sea válido.

IgnoreInvalidPolicy 128

Se omite el hecho de que, a la hora de determinar la comprobación del certificado, el certificado tenga una directiva que no sea válida.

IgnoreNotTimeNested 4

Se omite el hecho de que, a la hora de comprobar el certificado, el certificado de la entidad de certificación (CA) y el certificado emitido tengan períodos de validez no anidados. Por ejemplo, el certificado de entidad de certificación puede ser válido del 1 de enero al 1 de diciembre y el certificado emitido del 2 de enero al 2 de diciembre, lo que significaría que los períodos de validez no están anidados.

IgnoreNotTimeValid 1

Se omite el hecho de que, a la hora de determinar la validez del certificado, los certificados de la cadena no sean válidos porque hayan expirado o porque todavía no estén en vigor.

IgnoreRootRevocationUnknown 2048

Se omite el hecho de que, a la hora de comprobar el certificado, la revocación raíz sea desconocida.

IgnoreWrongUsage 32

Se omite el hecho de que, a la hora de determinar la comprobación del certificado, el certificado no se emitiese para el uso actual.

NoFlag 0

No se incluyen los marcadores que pertenecen a la comprobación.

Ejemplos

En el ejemplo siguiente se abre el almacén de certificados personal del usuario actual, se permite al usuario seleccionar un certificado y, a continuación, escribir información de la cadena de certificados y certificados en la consola. La salida depende del certificado que seleccione.

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

Comentarios

Estas marcas indican las condiciones en las que debe producirse la comprobación en cadena. Por ejemplo, si una aplicación no requiere que los valores de hora de los certificados de una cadena sean válidos, se puede usar la marca IgnoreNotTimeValid.

Se aplica a