Função CertGetCRLFromStore (wincrypt.h)
A função CertGetCRLFromStore obtém o primeiro ou o próximo contexto de CRL (lista de certificados revogados) do repositório de certificados do emissor especificado. A função também executa as verificações de verificação habilitadas na CRL. As novas funções de verificação de cadeia de certificados são recomendadas em vez dessa função.
Sintaxe
PCCRL_CONTEXT CertGetCRLFromStore(
[in] HCERTSTORE hCertStore,
[in, optional] PCCERT_CONTEXT pIssuerContext,
[in] PCCRL_CONTEXT pPrevCrlContext,
[in, out] DWORD *pdwFlags
);
Parâmetros
[in] hCertStore
Identificador de um repositório de certificados.
[in, optional] pIssuerContext
Um ponteiro para um emissor CERT_CONTEXT. O ponteiro pIssuerContext pode vir desse repositório ou de outro repositório ou pode ter sido criado pela chamada CertCreateCertificateContext. Se NULL for passado para esse parâmetro, todas as CRLs no repositório serão encontradas.
[in] pPrevCrlContext
Um ponteiro para um CRL_CONTEXT. Um emissor pode ter várias CRLs. Por exemplo, ele pode gerar CRLs delta usando uma extensão X.509 versão 3. Esse parâmetro deve ser NULL na primeira chamada para obter a CRL. Para obter a próxima CRL para o emissor, o parâmetro é definido como o CRL_CONTEXT retornado por uma chamada anterior. Um pPrevCrlContext não NULL é sempre liberado por essa função chamando CertFreeCRLContext, mesmo para um erro.
[in, out] pdwFlags
Os valores de sinalizador a seguir são definidos para habilitar verificações de verificação na CRL retornada. Esses sinalizadores podem ser combinados usando uma operação OR bit a bit.
Se uma verificação habilitada marcar for bem-sucedida, seu sinalizador será definido como zero.
Se uma verificação habilitada marcar falhar, seu sinalizador permanecerá definido no retorno. Se pIssuerContext for NULL, um CERT_STORE_SIGNATURE_FLAG habilitado sempre falhará e o CERT_STORE_NO_ISSUER_FLAG também será definido. Para obter mais detalhes, confira Comentários.
Se apenas um dos CERT_STORE_BASE_CRL_FLAG ou CERT_STORE_DELTA_CRL_FLAG estiver definido, essa função retornará uma CRL base ou delta e o sinalizador base ou delta apropriado será limpo no retorno. Se ambos os sinalizadores estiverem definidos, apenas um dos sinalizadores será limpo.
Para uma verificação marcar falha, um ponteiro para o primeiro ou próximo CRL_CONTEXT ainda é retornado e GetLastError não é atualizado.
Valor retornado
Se a função for bem-sucedida, o valor retornado será um ponteiro para um CRL_CONTEXT somente leitura.
Se a função falhar e a primeira ou a próxima CRL não for encontrada, o valor retornado será NULL.
O CRL_CONTEXT retornado deve ser liberado chamando CertFreeCRLContext. No entanto, quando o CRL_CONTEXT retornado é fornecido para pPrevCrlContext em uma chamada subsequente, a função a libera.
Para obter informações de erro estendidas, chame GetLastError. Alguns códigos de erro possíveis seguem.
Valor | Descrição |
---|---|
|
O identificador no parâmetro hCertStore não é o mesmo que no contexto crl apontado pelo parâmetro pPrevCrlContext ou um sinalizador sem suporte foi definido em pdwFlags. |
|
Nenhuma CRL existia no repositório do emissor ou a função chegou ao final da lista do repositório. |
Comentários
CertDuplicateCRLContext pode ser chamado para fazer uma CRL duplicada.
Os valores hexadecimal dos sinalizadores podem ser combinados usando uma operação OR bit a bit para habilitar ambas as verificações. Por exemplo, para habilitar ambas as verificações, o valor DWORD apontado por pdwFlags é definido como valor CERT_STORE_SIGNATURE_FLAG | CERT_STORE_TIME_VALIDITY_FLAG. Se a verificação de CERT_STORE_SIGNATURE_FLAG tiver sido bem-sucedida, mas CERT_STORE_TIME_VALIDITY_FLAG verificação falhar, o valor DWORD apontado por pdwFlags será definido como CERT_STORE_TIME_VALIDITY_FLAG quando a função retornar.
Requisitos
Cliente mínimo com suporte | Windows XP [aplicativos da área de trabalho | aplicativos UWP] |
Servidor mínimo com suporte | Windows Server 2003 [aplicativos da área de trabalho | Aplicativos UWP] |
Plataforma de Destino | Windows |
Cabeçalho | wincrypt.h |
Biblioteca | Crypt32.lib |
DLL | Crypt32.dll |