X509VerificationFlags Enumeração
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Especifica condições sob as quais a verificação dos certificados na cadeia X509 deve ser realizada.
Esta enumeração suporta uma combinação bit-a-bit dos respetivos valores membro.
public enum class X509VerificationFlags
[System.Flags]
public enum X509VerificationFlags
[<System.Flags>]
type X509VerificationFlags =
Public Enum X509VerificationFlags
- Herança
- Atributos
Campos
| Name | Valor | Description |
|---|---|---|
| NoFlag | 0 | Não estão incluídos sinais relacionados com verificação. |
| IgnoreNotTimeValid | 1 | Ignore certificados na cadeia que não são válidos, seja porque expiraram ou ainda não estão em vigor ao determinar a validade dos certificados. |
| IgnoreCtlNotTimeValid | 2 | Ignore que a lista de confiança de certificados (CTL) não é válida, por razões como o facto de a CTL ter expirado, ao determinar a verificação do certificado. |
| IgnoreNotTimeNested | 4 | Ignore que o certificado da CA (autoridade certificadora) e o certificado emitido têm períodos de validade que não estão aninhados ao verificar o certificado. Por exemplo, o certificado da CA pode ser válido de 1 de janeiro a 1 de dezembro e o certificado emitido de 2 de janeiro a 2 de dezembro, o que significa que os períodos de validade não estão aninhados. |
| IgnoreInvalidBasicConstraints | 8 | Ignore que as restrições básicas não são válidas ao determinar a verificação de certificados. |
| AllowUnknownCertificateAuthority | 16 | Ignore que a cadeia não pode ser verificada devido a uma autoridade certificadora (CA) desconhecida ou cadeias parciais. |
| IgnoreWrongUsage | 32 | Ignore que o certificado não foi emitido para o uso atual ao determinar a verificação do certificado. |
| IgnoreInvalidName | 64 | Ignore que o certificado tem um nome inválido ao determinar a verificação do certificado. |
| IgnoreInvalidPolicy | 128 | Ignore que o certificado tem uma política inválida ao determinar a verificação do certificado. |
| IgnoreEndRevocationUnknown | 256 | Ignore que a revogação do certificado final (o certificado de utilizador) é desconhecida ao determinar a verificação do certificado. |
| IgnoreCtlSignerRevocationUnknown | 512 | Ignore que a revogação do signatário da lista de certificados fiduciários (CTL) é desconhecida ao determinar a verificação do certificado. |
| IgnoreCertificateAuthorityRevocationUnknown | 1024 | Ignore que a revogação da autoridade certificadora é desconhecida ao determinar a verificação do certificado. |
| IgnoreRootRevocationUnknown | 2048 | Ignore que a revogação raiz é desconhecida ao determinar a verificação do certificado. |
| AllFlags | 4095 | Todos os flags relativos à verificação estão incluídos. |
Exemplos
O exemplo seguinte abre o armazenamento de certificados pessoais do utilizador atual, permite ao utilizador selecionar um certificado e depois escreve informações de certificados e cadeia de certificados na consola. A saída depende do certificado que selecionar.
//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)
Observações
Estas bandeiras indicam as condições sob as quais a verificação em cadeia deve ocorrer. Por exemplo, se uma aplicação não exigir que os valores de tempo dos certificados numa cadeia sejam válidos, pode ser usada a flag IgnoreNotTimeValidable.