X509VerificationFlags Enumeração

Definição

Especifica as condições sob as quais a verificação de certificados na cadeia X509 deve ser realizada.

Essa enumeração dá suporte a uma combinação bit a bit dos valores de membro.

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

Campos

AllFlags 4095

Todos os sinalizadores relativos à verificação são incluídos.

AllowUnknownCertificateAuthority 16

Ignore se a cadeia não pode ser verificada devido a uma AC (autoridade de certificação) desconhecida ou cadeias parciais.

IgnoreCertificateAuthorityRevocationUnknown 1024

Ignorar que a revogação da autoridade de certificação é desconhecida ao determinar a verificação do certificado.

IgnoreCtlNotTimeValid 2

Ignorar que a CTL (lista de certificados confiáveis) é inválida, por motivos como a CTL ter expirado, ao determinar a verificação do certificado.

IgnoreCtlSignerRevocationUnknown 512

Ignorar que a revogação do signatário da CTL (lista de certificados confiáveis) é desconhecida ao determinar a verificação do certificado.

IgnoreEndRevocationUnknown 256

Ignorar que a revogação do certificado final (o certificado do usuário) é desconhecida ao determinar a verificação do certificado.

IgnoreInvalidBasicConstraints 8

Ignorar que as restrições básicas são inválidas ao determinar a verificação do certificado.

IgnoreInvalidName 64

Ignorar que o certificado tem um nome inválido ao determinar a verificação do certificado.

IgnoreInvalidPolicy 128

Ignorar que o certificado tem uma política inválida ao determinar a verificação do certificado.

IgnoreNotTimeNested 4

Ignorar que o certificado da AC (autoridade de certificação) 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 AC pode ser válido de 1º de janeiro a 1º de dezembro e o certificado emitido de 2 de janeiro a 2 de dezembro, ou seja, os períodos de validade não estão aninhados.

IgnoreNotTimeValid 1

Ignorar certificados na cadeia que são inválidos porque expiraram ou ainda não estão em vigor ao determinar a validade do certificado.

IgnoreRootRevocationUnknown 2048

Ignorar que a revogação da raiz é desconhecida ao determinar a verificação do certificado.

IgnoreWrongUsage 32

Ignorar que o certificado não foi emitido para o uso atual ao determinar a verificação do certificado.

NoFlag 0

Não é incluído nenhum sinalizador relativo à verificação.

Exemplos

O exemplo a seguir abre o repositório de certificados pessoais do usuário atual, permite que o usuário selecione um certificado e, em seguida, grava informações da cadeia de certificados e certificados no console. A saída depende do certificado selecionado.

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

Comentários

Esses sinalizadores indicam as condições sob as quais a verificação em cadeia deve ocorrer. Por exemplo, se um aplicativo não exigir que os valores de tempo de certificados em uma cadeia sejam válidos, o sinalizador IgnoreNotTimeValid poderá ser usado.

Aplica-se a