Función CertAddCRLContextToStore (wincrypt.h)
La función CertAddCRLContextToStore agrega un contexto de lista de revocación de certificados (CRL) al almacén de certificados especificado.
Sintaxis
BOOL CertAddCRLContextToStore(
[in] HCERTSTORE hCertStore,
[in] PCCRL_CONTEXT pCrlContext,
[in] DWORD dwAddDisposition,
[out, optional] PCCRL_CONTEXT *ppStoreContext
);
Parámetros
[in] hCertStore
Identificador de un almacén de certificados.
[in] pCrlContext
Puntero a la estructura CRL_CONTEXT que se va a agregar.
[in] dwAddDisposition
Especifica la acción que se debe realizar si ya existe un CRL coincidente o un vínculo a una CRL coincidente en el almacén. Los valores de disposición definidos actualmente y sus usos son los siguientes.
Valor | Significado |
---|---|
|
No realiza ninguna comprobación de una CRL coincidente existente o un vínculo a una CRL coincidente. Siempre se agrega una nueva CRL al almacén. Esto puede provocar duplicados en un almacén. |
|
Si existe una CRL coincidente o un vínculo a una CRL coincidente, se produce un error en la operación. GetLastError devuelve el código CRYPT_E_EXISTS. |
|
Si existe una CRL coincidente o un vínculo a una CRL coincidente, la función compara las horas ThisUpdate en las CRL. Si la CRL existente tiene un tiempo ThisUpdate menor que la hora ThisUpdate en la nueva CRL, la CRL o el vínculo antiguos se reemplazan igual que por CERT_STORE_ADD_REPLACE_EXISTING. Si la CRL existente tiene una hora ThisUpdate mayor o igual que la hora ThisUpdate en la CRL que se va a agregar, se produce un error en la función getLastError que devuelve el código de CRYPT_E_EXISTS.
Si no se encuentra una CRL coincidente o un vínculo a una CRL coincidente en el almacén, se agrega una nueva CRL al almacén. |
|
La acción es la misma que para CERT_STORE_ADD_NEWER, salvo que si se reemplaza una CRL anterior, las propiedades de la CRL anterior se incorporan a la CRL de reemplazo. |
|
Si existe una CRL coincidente o un vínculo a una CRL coincidente, se elimina la CRL o vínculo existente y se crea una nueva CRL y se agrega al almacén. Si no existe una CRL coincidente o un vínculo a una CRL coincidente, se agrega uno. |
|
Si existe una CRL coincidente en el almacén, el contexto existente se elimina antes de crear y agregar el nuevo contexto. El contexto agregado hereda las propiedades de la CRL existente. |
|
Si existe una CRL coincidente o un vínculo a una CRL coincidente, se usa esa CRL existente y se agregan las propiedades de la nueva CRL. No se produce un error en la función, pero no se agrega ninguna CRL nueva. Si ppCertContext no es NULL, se duplica el contexto existente.
Si no existe una CRL coincidente o un vínculo a una CRL coincidente, se agrega una nueva CRL. |
[out, optional] ppStoreContext
Puntero a un puntero al contexto CRL descodificado. Se trata de un parámetro opcional y puede ser NULL, lo que indica que la aplicación que realiza la llamada no requiere una copia de la CRL agregada o existente. Si se realiza una copia, ese contexto debe liberarse mediante CertFreeCRLContext.
Valor devuelto
Si la función se realiza correctamente, el valor devuelto es TRUE.
Si se produce un error en la función, el valor devuelto es FALSE. Los errores de las funciones llamadas CertAddEncodedCRLToStore y CertSetCRLContextProperty se pueden propagar a esta función.
Para obtener información de error extendida, llame a GetLastError. A continuación se indican algunos códigos de error posibles.
Código devuelto | Descripción |
---|---|
|
Este error se devuelve si se establece CERT_STORE_ADD_NEW y la CRL ya existe en el almacén o si se establece CERT_STORE_ADD_NEWER y existe una CRL en el almacén con una fecha ThisUpdate mayor o igual que la fecha ThisUpdate en la CRL que se va a agregar. |
|
El parámetro dwAddDisposition especificó un valor de disposición que no es válido. |
Comentarios
El contexto CRL no se duplica mediante CertDuplicateCRLContext. En su lugar, se crea una nueva copia y se agrega al almacén. Además de copiar la CRL codificada, la función copia las propiedades del contexto.
Para quitar el contexto CRL del almacén de certificados, use la función CertDeleteCRLFromStore .
Requisitos
Cliente mínimo compatible | Windows XP [aplicaciones de escritorio | aplicaciones para UWP] |
Servidor mínimo compatible | Windows Server 2003 [aplicaciones de escritorio | aplicaciones para UWP] |
Plataforma de destino | Windows |
Encabezado | wincrypt.h |
Library | Crypt32.lib |
Archivo DLL | Crypt32.dll |