Función CertFindCRLInStore (wincrypt.h)
La función CertFindCRLInStore busca el primer o siguiente contexto de lista de revocación de certificados (CRL) en un almacén de certificados que coincida con un criterio de búsqueda establecido por el parámetro dwFindType y el parámetro pvFindPara asociado. Esta función se puede usar en un bucle para buscar todos los contextos CRL en un almacén de certificados que coincidan con los criterios de búsqueda especificados.
Sintaxis
PCCRL_CONTEXT CertFindCRLInStore(
[in] HCERTSTORE hCertStore,
[in] DWORD dwCertEncodingType,
[in] DWORD dwFindFlags,
[in] DWORD dwFindType,
[in] const void *pvFindPara,
[in] PCCRL_CONTEXT pPrevCrlContext
);
Parámetros
[in] hCertStore
Identificador del almacén de certificados que se va a buscar.
[in] dwCertEncodingType
Este parámetro no se usa actualmente. Debe establecerse en cero.
[in] dwFindFlags
Si dwFindType está CRL_FIND_ISSUED_BY, de forma predeterminada, solo se realiza la coincidencia de nombres del emisor. Las marcas siguientes se pueden usar para realizar un filtrado adicional.
Valor | Significado |
---|---|
|
Comprueba si hay una CRL que tiene una extensión de identificador de clave de autoridad (AKI). Si la CRL tiene una AKI, solo se devuelve una CRL cuya AKI coincide con el emisor.
Nota La extensión AKI tiene el valor de identificador de objeto (OID) szOID_AUTHORITY_KEY_IDENTIFIER2 y su estructura de datos correspondiente.
|
|
Use la clave pública en el certificado del emisor para comprobar la firma en la CRL. Solo devuelve una CRL que tiene una firma válida. |
|
Busca y devuelve una CRL delta. |
|
Busca y devuelve una CRL base. |
|
La firma se comprueba si hay intensidad después de la comprobación correcta. Esta marca solo se aplica cuando el parámetro dwFindType se establece en CRL_FIND_ISSUED_FOR. También debe establecer CRL_FIND_ISSUED_BY_SIGNATURE_FLAG. Si se ejecuta correctamente, las siguientes propiedades de firma segura se establecerán en el contexto de CRL:
|
[in] dwFindType
Especifica el tipo de búsqueda que se está realizando. El valor de dwFindType determina el tipo de datos, el contenido y el uso del parámetro pvFindPara . Los tipos de búsqueda definidos actualmente y sus requisitos pvFindPara son los siguientes.
Valor | Significado |
---|---|
|
No hay criterios de búsqueda. Se devuelve la siguiente CRL en el almacén. |
|
Busca la siguiente CRL en el almacén que coincida con el emisor en el CERT_CONTEXT. |
|
Busca la siguiente CRL que coincida con el CRL_CONTEXT de las siguientes maneras:
|
|
Busca la siguiente CRL en el almacén que coincide con el emisor del certificado del firmante en la estructura CRL_FIND_ISSUED_FOR_PARA.
Si no se encuentra ninguna CRL, busca la siguiente CRL en el almacén que coincide con el emisor en la estructura CRL_FIND_ISSUED_FOR_PARA. Nota Al usar certificados cruzados, es posible que el nombre del firmante del certificado del emisor no coincida con el nombre del emisor en el certificado del firmante y su CRL correspondiente.
|
[in] pvFindPara
Este parámetro viene determinado por el valor de dwFindType. Para obtener más información, consulte la tabla anterior en este tema.
[in] pPrevCrlContext
Puntero al último CRL_CONTEXT devuelto por esta función. Debe ser NULL para obtener la primera CRL en el almacén que cumpla los criterios de búsqueda. Las CRL sucesivas que cumplen los criterios de búsqueda se pueden encontrar estableciendo pPrevCrlContext en el puntero PCCRL_CONTEXT devuelto por una llamada anterior a la función. El proceso de búsqueda omite las CRL que no coinciden con los criterios de búsqueda o que certDeleteCRLFromStore eliminó previamente del almacén. Esta función libera el CRL_CONTEXT al que hacen referencia los valores de este parámetro que no son NULL.
Valor devuelto
Si la función se ejecuta correctamente, la función devuelve un puntero a un contexto CRL de solo lectura. Cuando haya terminado de usar el contexto CRL devuelto, áleguelo llamando a la función CertFreeCRLContext o liberándolo implícitamente pasando como parámetro pPrevCrlContext en una llamada posterior a la función CertFindCRLInStore .
Si se produce un error en la función y no se encuentra una CRL que coincida con los criterios de búsqueda, el valor devuelto es NULL. 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 |
---|---|
|
El identificador del parámetro hCertStore no es el mismo que el del contexto CRL al que apunta el parámetro pPrevCrlContext o un tipo de búsqueda que no es válido se especificó en el parámetro dwFindType . |
|
No hay CRL en el almacén, no se encontró ninguna CRL que coincida con los criterios de búsqueda o se alcanzó el final de la lista de la tienda. |
Comentarios
El puntero devuelto se libera cuando se pasa como parámetro pPrevCrlContext en una llamada posterior a la función. De lo contrario, el puntero debe liberarse explícitamente llamando a CertFreeCRLContext. CertFindCRLInStore libera siempre un pPrevCrlContext que no es NULL mediante una llamada a CertFreeCRLContext, incluso si se produce un error en la función.
Se puede llamar a CertDuplicateCRLContext para duplicar el contexto devuelto. El contexto CRL devuelto se puede agregar a un almacén de certificados diferente mediante CertAddCRLContextToStore o un vínculo a ese contexto CRL se puede agregar a un almacén que no sea de colección mediante CertAddCRLLinkToStore.
Requisitos
Requisito | Value |
---|---|
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 |