Función CertGetCRLFromStore (wincrypt.h)
La función CertGetCRLFromStore obtiene el primer o siguiente contexto de la lista de revocación de certificados (CRL) del almacén de certificados del emisor especificado. La función también realiza las comprobaciones de comprobación habilitadas en la CRL. Se recomiendan las nuevas funciones de comprobación de la cadena de certificados en lugar de esta función.
Sintaxis
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 un almacén de certificados.
[in, optional] pIssuerContext
Puntero a un emisor CERT_CONTEXT. El puntero pIssuerContext puede provenir de este almacén u otro almacén, o bien podría haberse creado mediante la llamada a CertCreateCertificateContext. Si se pasa NULL para este parámetro, se encuentran todas las CRL del almacén.
[in] pPrevCrlContext
Puntero a un CRL_CONTEXT. Un emisor puede tener varias CRL. Por ejemplo, puede generar CRL delta mediante una extensión X.509 versión 3. Este parámetro debe ser NULL en la primera llamada para obtener la CRL. Para obtener la siguiente CRL del emisor, el parámetro se establece en el CRL_CONTEXT devuelto por una llamada anterior. Esta función siempre libera un pPrevCrlContext distinto de NULL llamando a CertFreeCRLContext, incluso para un error.
[in, out] pdwFlags
Los siguientes valores de marca se definen para habilitar las comprobaciones de comprobación en la CRL devuelta. Estas marcas se pueden combinar mediante una operación OR bit a bit.
Si una comprobación de comprobación habilitada se realiza correctamente, su marca se establece en cero.
Si se produce un error en una comprobación de comprobación habilitada, su marca permanece establecida tras la devolución. Si pIssuerContext es NULL, siempre se produce un error en un CERT_STORE_SIGNATURE_FLAG habilitado y también se establece el CERT_STORE_NO_ISSUER_FLAG. Para obtener más información, consulte Comentarios.
Si solo se establece una de CERT_STORE_BASE_CRL_FLAG o CERT_STORE_DELTA_CRL_FLAG, esta función devuelve una CRL base o delta y se borrará la marca delta o base adecuada al devolver. Si se establecen ambas marcas, solo se borrará una de las marcas.
Para un error de comprobación de comprobación, todavía se devuelve un puntero al primer o siguiente CRL_CONTEXT y GetLastError no se actualiza.
Valor devuelto
Si la función se ejecuta correctamente, el valor devuelto es un puntero a un CRL_CONTEXT de solo lectura.
Si se produce un error en la función y no se encuentra la primera o la siguiente CRL, el valor devuelto es NULL.
El CRL_CONTEXT devuelto debe liberarse llamando a CertFreeCRLContext. Sin embargo, cuando se proporciona el CRL_CONTEXT devuelto para pPrevCrlContext en una llamada posterior, la función lo libera.
Para obtener información de error extendida, llame a GetLastError. Siguen algunos códigos de error posibles.
Valor | Descripción |
---|---|
|
El identificador del parámetro hCertStore no es el mismo que en el contexto crL al que apunta el parámetro pPrevCrlContext o se estableció una marca no admitida en pdwFlags. |
|
Ninguna CRL existía en el almacén para el emisor o la función alcanzó el final de la lista del almacén. |
Comentarios
Se puede llamar a CertDuplicateCRLContext para crear una CRL duplicada.
Los valores hexadecimales de las marcas se pueden combinar mediante una operación OR bit a bit para habilitar ambas comprobaciones. Por ejemplo, para habilitar ambas comprobaciones, el valor DWORD al que apunta pdwFlags se establece en el valor CERT_STORE_SIGNATURE_FLAG | CERT_STORE_TIME_VALIDITY_FLAG. Si la comprobación del CERT_STORE_SIGNATURE_FLAG se realizó correctamente, pero CERT_STORE_TIME_VALIDITY_FLAG error de comprobación, el valor DWORD al que apunta pdwFlags se establece en CERT_STORE_TIME_VALIDITY_FLAG cuando la función devuelve.
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 |