Compartilhar via


Função CertOpenServerOcspResponse (wincrypt.h)

A função CertOpenServerOcspResponse abre um identificador para uma resposta de OCSP (certificado status) online associada a uma cadeia de certificados do servidor.

Sintaxe

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

Parâmetros

[in] pChainContext

O endereço de uma estrutura CERT_CHAIN_CONTEXT que contém a cadeia de certificados.

[in] dwFlags

Valor Significado
0
0x00000000
Essa API tentará recuperar uma resposta OCSP inicial antes de retornar, o que significa que ela será bloqueada durante a recuperação.
CERT_SERVER_OCSP_RESPONSE_ASYNC_FLAG
0x00000001
Defina esse sinalizador para retornar imediatamente sem fazer a recuperação síncrona inicial.

pOpenPara

Esse parâmetro não é usado e deve ser NULL.

Valor retornado

Retorna um identificador para a resposta OCSP associada a uma cadeia de certificados do servidor se tiver êxito; caso contrário, NULL. Esse identificador deve ser passado para a função CertCloseServerOcspResponse quando não for mais necessário.

Para obter informações de erro estendidas, chame GetLastError. Os códigos de erro possíveis retornados pela função GetLastError incluem, mas não se limitam a, o seguinte.

Código de retorno Descrição
ERROR_INVALID_PARAMETER
Um ou mais dos parâmetros não são válidos.
CRYPT_E_NOT_IN_REVOCATION_DATABASE
O certificado final não contém uma URL de acesso às informações da autoridade OCSP (AIA).

Comentários

Quando dwFlags é definido como 0, a função CertOpenServerOcspResponse tenta recuperar uma resposta OCSP inicial antes de retornar. Ele bloqueia seu thread de processo durante a recuperação. A função CertOpenServerOcspResponse cria um thread em segundo plano que pré-busca respostas OCSP válidas por tempo. Se não for possível recuperar com êxito a primeira resposta OCSP, um identificador não NULL ainda será retornado se não for um dos casos de erro mencionados acima.

Quando dwFlags é definido como 1 ou CERT_SERVER_OCSP_RESPONSE_ASYNC_FLAG, a função CertOpenServerOcspResponse retornará imediatamente sem fazer a recuperação síncrona inicial.

A função CertOpenServerOcspResponse incrementa a contagem de referência para o contexto de cadeia representado pelo parâmetro pChainContext . Quando terminar de usar o contexto de cadeia, feche o identificador retornado chamando a função CertCloseServerOcspResponse .

A função CertOpenServerOcspResponse inicializa as definições de configuração usadas pelas seguintes funções:

Primeiro, a função CertOpenServerOcspResponse inicializa as configurações com base nos valores padrão em Wincrypt.h. Se a função localizar posteriormente a chave do Registro definida em CERT_CHAIN_CONFIG_REGPATH, ela atualizará os valores inicializados anteriormente com os valores do Registro.

Os seguintes nomes de configuração e valores padrão são inicializados por essa função:

  • CERT_SRV_OCSP_RESP_MIN_VALIDITY_SECONDS_VALUE_NAME

    L"SrvOcspRespMinValiditySeconds"

    A validade de tempo mínimo da resposta OCSP do servidor a ser retornada por CertGetServerOcspResponseContext. A validade da resposta OCSP deve ser suficientemente longa para que o cliente a trate como tempo 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"

    Esse é o tempo máximo antes que a recuperação da URL de transmissão de pré-busca de resposta OCSP exceda o tempo limite.

  • 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"

    Esse é o número máximo de segundos para executar uma recuperação de pré-busca de resposta OCSP do servidor antes da data NextUpdate de uma resposta OCSP. O thread de resposta OCSP do servidor aguarda até que a hora atual seja maior ou igual à data NextUpdate menos esse número de segundos para executar uma recuperação de pré-busca.

  • 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"

    Esse é o número mínimo de segundos para executar uma recuperação de pré-busca de resposta OCSP do servidor antes da data NextUpdate de uma resposta OCSP. Se a hora atual for maior ou igual à data NextUpdate menos esse número de segundos, o thread de resposta OCSP do servidor aguardará até depois da data NextUpdate mais a CERT_SRV_OCSP_RESP_MIN_AFTER_NEXT_UPDATE_SECONDS_VALUE_NAME número de segundos antes de executar uma recuperação de pré-busca.

  • 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"

    Esse é o número mínimo de segundos para executar uma recuperação de pré-busca de resposta OCSP do servidor após a data NextUpdate de uma resposta OCSP. Quando a hora atual é maior que a data NextUpdate menos o número CERT_SRV_OCSP_RESP_MIN_BEFORE_NEXT_UPDATE_SECONDS_VALUE_NAME de segundos, mas menor que a data NextUpdate, o thread de resposta OCSP do servidor aguarda esse número de segundos após a data NextUpdate para executar uma recuperação de pré-busca.

  • CERT_SRV_OCSP_RESP_MIN_AFTER_NEXT_UPDATE_SECONDS_DEFAULT

    (1 × 60)

    1 minuto.

Requisitos

   
Cliente mínimo com suporte Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho wincrypt.h
Biblioteca Crypt32.lib
DLL Crypt32.dll

Confira também

CertCloseServerOcspResponse