Función CertOpenServerOcspResponse (wincrypt.h)

La función CertOpenServerOcspResponse abre un identificador para una respuesta del protocolo de estado de certificado en línea (OCSP) asociada a una cadena de certificados de servidor.

Sintaxis

HCERT_SERVER_OCSP_RESPONSE CertOpenServerOcspResponse(
  [in] PCCERT_CHAIN_CONTEXT                 pChainContext,
  [in] DWORD                                dwFlags,
       PCERT_SERVER_OCSP_RESPONSE_OPEN_PARA pOpenPara
);

Parámetros

[in] pChainContext

Dirección de una estructura de CERT_CHAIN_CONTEXT que contiene la cadena de certificados.

[in] dwFlags

Valor Significado
0
0x00000000
Esta API intentará recuperar una respuesta OCSP inicial antes de devolverla, lo que significa que se bloqueará durante la recuperación.
CERT_SERVER_OCSP_RESPONSE_ASYNC_FLAG
0x00000001
Establezca esta marca para que se devuelva inmediatamente sin realizar la recuperación sincrónica inicial.

pOpenPara

Este parámetro no se usa y debe ser NULL.

Valor devuelto

Devuelve un identificador a la respuesta OCSP asociada a una cadena de certificados de servidor si es correcta; de lo contrario, NULL. Este identificador se debe pasar a la función CertCloseServerOcspResponse cuando ya no es necesario.

Para obtener información de error extendida, llame a GetLastError. Entre los posibles códigos de error devueltos por la función GetLastError se incluyen, entre otros, los siguientes.

Código devuelto Descripción
ERROR_INVALID_PARAMETER
Uno o más parámetros no son válidos.
CRYPT_E_NOT_IN_REVOCATION_DATABASE
El certificado final no contiene una dirección URL de acceso a la información de la entidad OCSP (AIA).

Observaciones

Cuando dwFlags se establece en 0, la función CertOpenServerOcspResponse intenta recuperar una respuesta OCSP inicial antes de que se devuelva. Bloquea su subproceso de proceso durante la recuperación. La función CertOpenServerOcspResponse crea un subproceso en segundo plano que captura las respuestas OCSP válidas con tiempo. Si no se puede recuperar correctamente la primera respuesta OCSP, se seguirá devolviendo un identificador distinto de NULL si no uno de los casos de error mencionados anteriormente.

Cuando dwFlags se establece en 1 o CERT_SERVER_OCSP_RESPONSE_ASYNC_FLAG, la función CertOpenServerOcspResponse se devolverá inmediatamente sin realizar la recuperación sincrónica inicial.

La función CertOpenServerOcspResponse incrementa el recuento de referencias del contexto de cadena representado por el parámetro pChainContext . Cuando haya terminado de usar el contexto de cadena, cierre el identificador devuelto llamando a la función CertCloseServerOcspResponse .

La función CertOpenServerOcspResponse inicializa las opciones de configuración usadas por las siguientes funciones:

En primer lugar, la función CertOpenServerOcspResponse inicializa la configuración en función de los valores predeterminados en Wincrypt.h. Si la función encuentra posteriormente la clave del Registro definida en CERT_CHAIN_CONFIG_REGPATH, actualiza los valores inicializados previamente con los valores del Registro.

Esta función inicializa los siguientes nombres de configuración y los valores predeterminados:

  • CERT_SRV_OCSP_RESP_MIN_VALIDITY_SECONDS_VALUE_NAME

    L"SrvOcspRespMinValiditySeconds"

    La validez mínima de tiempo de la respuesta OCSP del servidor que devuelve CertGetServerOcspResponseContext. La validez de la respuesta OCSP debe ser lo suficientemente larga como para que el cliente la trate como tiempo válido.

  • CERT_SRV_OCSP_RESP_MIN_VALIDITY_SECONDS_DEFAULT

    (10 × 60)

    10 minutos.

  • CERT_SRV_OCSP_RESP_URL_RETRIEVAL_TIMEOUT_MILLISECONDS_VALUE_NAME

    L"SrvOcspRespUrlRetrievalTimeoutMilliseconds"

    Este es el tiempo máximo antes de que se agote el tiempo de espera de una dirección URL de conexión de captura previa de respuesta OCSP.

  • CERT_SRV_OCSP_RESP_URL_RETRIEVAL_TIMEOUT_MILLISECONDS_DEFAULT

    (15 × 1000)

    15 segundos.

  • CERT_SRV_OCSP_RESP_MAX_BEFORE_NEXT_UPDATE_SECONDS_VALUE_NAME

    L"SrvOcspRespMaxBeforeNextUpdateSeconds"

    Este es el número máximo de segundos para realizar una recuperación previa de respuesta OCSP del servidor antes de la fecha NextUpdate de una respuesta OCSP. El subproceso de respuesta OCSP del servidor espera hasta que la hora actual sea mayor o igual que la fecha NextUpdate menos este número de segundos para realizar una recuperación de captura previa.

  • CERT_SRV_OCSP_RESP_MAX_BEFORE_NEXT_UPDATE_SECONDS_DEFAULT

    (4 ×60 × 60)

    4 horas.

  • CERT_SRV_OCSP_RESP_MIN_BEFORE_NEXT_UPDATE_SECONDS_VALUE_NAME

    L"SrvOcspRespMinBeforeNextUpdateSeconds"

    Este es el número mínimo de segundos para realizar una recuperación previa de captura previa de respuesta OCSP del servidor antes de la fecha NextUpdate de una respuesta OCSP. Si la hora actual es mayor o igual que la fecha NextUpdate menos este número de segundos, el subproceso de respuesta OCSP del servidor espera hasta después de la fecha NextUpdate más el número de segundos CERT_SRV_OCSP_RESP_MIN_AFTER_NEXT_UPDATE_SECONDS_VALUE_NAME antes de realizar una recuperación de captura previa.

  • CERT_SRV_OCSP_RESP_MIN_BEFORE_NEXT_UPDATE_SECONDS_DEFAULT

    (2 × 60)

    2 minutos.

  • CERT_SRV_OCSP_RESP_MIN_AFTER_NEXT_UPDATE_SECONDS_VALUE_NAME

    L"SrvOcspRespMinAfterNextUpdateSeconds"

    Este es el número mínimo de segundos para realizar una recuperación previa de captura previa de respuesta OCSP del servidor después de la fecha NextUpdate de una respuesta OCSP. Cuando la hora actual es mayor que la fecha NextUpdate menos el número de segundos CERT_SRV_OCSP_RESP_MIN_BEFORE_NEXT_UPDATE_SECONDS_VALUE_NAME pero menor que la fecha NextUpdate, el subproceso de respuesta OCSP del servidor espera este número de segundos después de la fecha NextUpdate para realizar una recuperación previa de captura.

  • CERT_SRV_OCSP_RESP_MIN_AFTER_NEXT_UPDATE_SECONDS_DEFAULT

    (1 × 60)

    1 minuto.

Requisitos

   
Cliente mínimo compatible Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado wincrypt.h
Library Crypt32.lib
Archivo DLL Crypt32.dll

Consulte también

CertCloseServerOcspResponse