X509VerificationFlags Enumeración
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Especifica las condiciones en 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
- Atributos
Campos
| Nombre | Valor | Description |
|---|---|---|
| NoFlag | 0 | No se incluyen marcas relativas a la comprobación. |
| IgnoreNotTimeValid | 1 | Omita los certificados de la cadena que no son válidos porque han expirado o aún no están en vigor al determinar la validez del certificado. |
| IgnoreCtlNotTimeValid | 2 | Ignore que la lista de confianza de certificados (CTL) no es válida, por motivos como el CTL ha expirado, al determinar la comprobación del certificado. |
| IgnoreNotTimeNested | 4 | Ignore que el certificado de ca (entidad de certificación) y el certificado emitido tienen períodos de validez que no están anidados al comprobar el certificado. Por ejemplo, el certificado de entidad de certificación puede ser válido desde el 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. |
| IgnoreInvalidBasicConstraints | 8 | Omita que las restricciones básicas no son válidas al determinar la comprobación del certificado. |
| AllowUnknownCertificateAuthority | 16 | Ignore que la cadena no se puede comprobar debido a una entidad de certificación (CA) desconocida o a cadenas parciales. |
| IgnoreWrongUsage | 32 | Omita que el certificado no se emitió para el uso actual al determinar la comprobación del certificado. |
| IgnoreInvalidName | 64 | Ignore que el certificado tiene un nombre no válido al determinar la comprobación del certificado. |
| IgnoreInvalidPolicy | 128 | Ignore que el certificado tiene una directiva no válida al determinar la comprobación del certificado. |
| IgnoreEndRevocationUnknown | 256 | Omita que la revocación del certificado final (el certificado de usuario) es desconocida al determinar la comprobación del certificado. |
| IgnoreCtlSignerRevocationUnknown | 512 | Omita que la revocación del firmante de la lista de confianza de certificados (CTL) es desconocida al determinar la comprobación del certificado. |
| IgnoreCertificateAuthorityRevocationUnknown | 1024 | Omita que se desconoce la revocación de la entidad de certificación al determinar la comprobación del certificado. |
| IgnoreRootRevocationUnknown | 2048 | Omita que se desconoce la revocación raíz al determinar la comprobación del certificado. |
| AllFlags | 4095 | Se incluyen todas las marcas relativas 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 = 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.