Função CertAddCRLContextToStore (wincrypt.h)
A função CertAddCRLContextToStore adiciona um contexto de CRL ( lista de certificados revogados ) ao repositório de certificados especificado.
Sintaxe
BOOL CertAddCRLContextToStore(
[in] HCERTSTORE hCertStore,
[in] PCCRL_CONTEXT pCrlContext,
[in] DWORD dwAddDisposition,
[out, optional] PCCRL_CONTEXT *ppStoreContext
);
Parâmetros
[in] hCertStore
Identificador de um repositório de certificados.
[in] pCrlContext
Um ponteiro para a estrutura CRL_CONTEXT a ser adicionada.
[in] dwAddDisposition
Especifica a ação a ser tomada se uma CRL correspondente ou um link para uma CRL correspondente já existir no repositório. Os valores de disposição definidos no momento e seus usos são os seguintes.
Valor | Significado |
---|---|
|
Não faz marcar para uma CRL correspondente existente ou um link para uma CRL correspondente. Uma nova CRL sempre é adicionada ao repositório. Isso pode levar a duplicatas em um repositório. |
|
Se existir uma CRL correspondente ou um link para uma CRL correspondente, a operação falhará. GetLastError retorna o código CRYPT_E_EXISTS. |
|
Se existir uma CRL correspondente ou um link para uma CRL correspondente, a função comparará os tempos ThisUpdate nas CRLs. Se a CRL existente tiver um tempo ThisUpdate menor que o tempo ThisUpdate na nova CRL, a CRL ou o link antigo será substituído da mesma forma que o CERT_STORE_ADD_REPLACE_EXISTING. Se a CRL existente tiver um tempo ThisUpdate maior ou igual ao tempo ThisUpdate na CRL a ser adicionada, a função falhará com GetLastError retornando o código CRYPT_E_EXISTS.
Se uma CRL correspondente ou um link para uma CRL correspondente não for encontrado no repositório, uma nova CRL será adicionada ao repositório. |
|
A ação é a mesma que para CERT_STORE_ADD_NEWER, exceto que, se uma CRL mais antiga for substituída, as propriedades da CRL mais antiga serão incorporadas à CRL de substituição. |
|
Se existir uma CRL correspondente ou um link para uma CRL correspondente, a CRL ou link existente será excluído e uma nova CRL será criada e adicionada ao repositório. Se uma CRL correspondente ou um link para uma CRL correspondente não existir, uma será adicionada. |
|
Se houver uma CRL correspondente no repositório, o contexto existente será excluído antes de criar e adicionar o novo contexto. O contexto adicionado herda as propriedades da CRL existente. |
|
Se existir uma CRL correspondente ou um link para uma CRL correspondente, essa CRL existente será usada e as propriedades da nova CRL serão adicionadas. A função não falha, mas nenhuma nova CRL é adicionada. Se ppCertContext não for NULL, o contexto existente será duplicado.
Se uma CRL correspondente ou um link para uma CRL correspondente não existir, uma nova CRL será adicionada. |
[out, optional] ppStoreContext
Um ponteiro para um ponteiro para o contexto de CRL decodificado. Esse é um parâmetro opcional e pode ser NULL, indicando que o aplicativo de chamada não requer uma cópia da CRL adicionada ou existente. Se uma cópia for feita, esse contexto deverá ser liberado usando CertFreeCRLContext.
Valor retornado
Se a função for bem-sucedida, o valor retornado será TRUE.
Se a função falhar, o valor retornado será FALSE. Erros das funções chamadas CertAddEncodedCRLToStore e CertSetCRLContextProperty podem ser propagados para essa função.
Para obter informações de erro estendidas, chame GetLastError. Alguns códigos de erro possíveis seguem.
Código de retorno | Descrição |
---|---|
|
Esse erro será retornado se CERT_STORE_ADD_NEW estiver definido e a CRL já existir no repositório ou se CERT_STORE_ADD_NEWER estiver definido e houver uma CRL no repositório com uma data ThisUpdate maior ou igual à data ThisUpdate na CRL a ser adicionada. |
|
O parâmetro dwAddDisposition especificou um valor de disposição que não é válido. |
Comentários
O contexto crl não é duplicado usando CertDuplicateCRLContext. Em vez disso, uma nova cópia é criada e adicionada ao repositório. Além de copiar a CRL codificada, a função copia as propriedades do contexto.
Para remover o contexto crl do repositório de certificados, use a função CertDeleteCRLFromStore .
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 |