Compartilhar via


estrutura CERT_CHAIN_POLICY_STATUS (wincrypt.h)

A estrutura CERT_CHAIN_POLICY_STATUS contém a cadeia de certificados status informações retornadas pela função CertVerifyCertificateChainPolicy quando as cadeias de certificados são validadas.

Sintaxe

typedef struct _CERT_CHAIN_POLICY_STATUS {
  DWORD cbSize;
  DWORD dwError;
  LONG  lChainIndex;
  LONG  lElementIndex;
  void  *pvExtraPolicyStatus;
} CERT_CHAIN_POLICY_STATUS, *PCERT_CHAIN_POLICY_STATUS;

Membros

cbSize

O tamanho, em bytes, dessa estrutura.

dwError

Um valor que indica que um erro ou condição inválida foi encontrado durante o processo de validação. Os valores desse membro são específicos para o tipo de política, conforme especificado pelo valor do parâmetro pszPolicyOID da função CertVerifyCertificateChainPolicy .

Erros de política base (CERT_CHAIN_POLICY_BASE)

Valor Significado
TRUST_E_CERT_SIGNATURE
0x80096004L
A assinatura do certificado não pode ser verificada.
CRYPT_E_REVOKED
0x80092010L
O certificado ou assinatura foi revogado.
CERT_E_UNTRUSTEDROOT
0x800B0109L
Uma cadeia de certificação processada corretamente, mas encerrada em um certificado raiz que não é confiável pelo provedor de confiança.
CERT_E_UNTRUSTEDTESTROOT
0x800B010DL
O certificado raiz é um certificado de teste e as configurações de política não permitem certificados de teste.
CERT_E_CHAINING
0x800B010AL
Uma cadeia de certificados não foi criada corretamente.
CERT_E_WRONG_USAGE
0x800B0110L
O certificado não é válido para o uso solicitado.
CERT_E_EXPIRED
0x800B0101L
Um certificado necessário não está dentro de seu período de validade.
CERT_E_INVALID_NAME
0x800B0114L
O certificado tem um nome inválido. O nome não está incluído na lista permitida ou é excluído explicitamente.
CERT_E_INVALID_POLICY
0x800B0113L
O certificado tem uma política inválida.
TRUST_E_BASIC_CONSTRAINTS
0x80096019L
As restrições básicas do certificado não são válidas ou estão ausentes.
CERT_E_CRITICAL
0x800B0105L
O certificado está sendo usado para uma finalidade diferente da finalidade especificada por sua AC.
CERT_E_VALIDITYPERIODNESTING
0x800B0102L
Os períodos de validade da cadeia de certificação não aninham corretamente.
CRYPT_E_NO_REVOCATION_CHECK
0x80092012L
A função de revogação não pôde marcar revogação do certificado.
CRYPT_E_REVOCATION_OFFLINE
0x80092013L
A função de revogação não pôde verificar a revogação porque o servidor de revogação estava offline.
 

Erros básicos da política de restrições (CERT_CHAIN_POLICY_BASIC_CONSTRAINTS).

Valor Significado
TRUST_E_BASIC_CONSTRAINTS
0x80096019L
As restrições básicas do certificado não são válidas ou estão ausentes.
 

Erros de política de autenticação (CERT_CHAIN_POLICY_AUTHENTICODE e CERT_CHAIN_POLICY_AUTHENTICODE_TS).

Esses erros são além dos erros de Política base.

Valor Significado
CERT_E_PURPOSE
0x800B0106L
O certificado está sendo usado para uma finalidade diferente de uma especificada pela AC emissora.
CERT_E_REVOKED
0x800B010CL
O certificado foi explicitamente revogado pelo emissor.
CERT_E_REVOCATION_FAILURE
0x800B010EL
O processo de revogação não pôde continuar e o certificado não pôde ser verificado.
 

Erros de política SSL (CERT_CHAIN_POLICY_SSL).

Esses erros são além dos erros de Política base.

Valor Significado
CERT_E_UNTRUSTEDROOT
0x800B0109L
Uma cadeia de certificação processada corretamente, mas encerrada em um certificado raiz que não é confiável pelo provedor de confiança.
CERT_E_CN_NO_MATCH
0x800B010FL
O nome CN do certificado não corresponde ao valor passado.
CERT_E_PURPOSE
0x800B0106L
O certificado está sendo usado para uma finalidade diferente das finalidades especificadas por sua AC.
CERT_E_ROLE
0x800B0103L
Um certificado que só pode ser usado como uma entidade final está sendo usado como uma AC ou vice-versa.
 

Erros de Política Raiz da Microsoft (CERT_CHAIN_POLICY_MICROSOFT_ROOT).

Valor Significado
CERT_E_UNTRUSTEDROOT
0x800B0109L
Uma cadeia de certificação processada corretamente, mas encerrada em um certificado raiz que não é confiável pelo provedor de confiança.
 

Erros de política de EV.

Valor Significado
CERT_E_CHAINING
0x800B010AL
A cadeia de certificados para uma autoridade raiz confiável não pôde ser criada.
CERT_E_WRONG_USAGE
0x800B0110L
O certificado não é válido para o uso solicitado.

lChainIndex

Índice que indica a cadeia na qual um erro ou condição que não é válido foi encontrado. Para obter mais informações, consulte Comentários.

lElementIndex

Índice que indica o elemento em uma cadeia em que um erro ou condição que não é válido foi encontrado. Para obter mais informações, consulte Comentários.

pvExtraPolicyStatus

Um ponteiro para uma estrutura. O tipo de estrutura é determinado pelo valor do parâmetro pszPolicyOID da função CertVerifyCertificateChainPolicy . Além dos erros de dwError, as status extras específicas do OID de política também podem ser retornadas aqui para fornecer informações adicionais de status de cadeia. Opcionalmente, esse ponteiro pode ser definido para apontar para uma estrutura AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_STATUS .

Comentários

Se lChainIndex e lElementIndex estiverem definidos como –1, o erro ou a condição não válida se aplicará a todo o contexto de cadeia. Se somente lElementIndex for definido como –1, o erro ou condição que não é válido se aplicará à cadeia indexada por lChainIndex. Caso contrário, o erro ou a condição que não é válida se aplica ao elemento de certificado em pChainContext-rgpChain>[lChainIndex]->rgpElement[lElementIndex].

Requisitos

   
Cliente mínimo com suporte Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Cabeçalho wincrypt.h