Funzione CertOpenServerOcspResponse (wincrypt.h)

La funzione CertOpenServerOcspResponse apre un handle per una risposta OCSP ( Online Certificate Status Protocol ) associata a una catena di certificati server.

Sintassi

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

Parametri

[in] pChainContext

Indirizzo di una struttura CERT_CHAIN_CONTEXT che contiene la catena di certificati.

[in] dwFlags

Valore Significato
0
0x00000000
Questa API tenterà di recuperare una risposta OCSP iniziale prima della restituzione, il che significa che verrà bloccato durante il recupero.
CERT_SERVER_OCSP_RESPONSE_ASYNC_FLAG
0x00000001
Impostare questo flag per restituire immediatamente senza eseguire il recupero sincrono iniziale.

pOpenPara

Questo parametro non viene usato e deve essere NULL.

Valore restituito

Restituisce un handle alla risposta OCSP associata a una catena di certificati del server, se ha esito positivo; in caso contrario, NULL. Questo handle deve essere passato alla funzione CertCloseServerOcspResponse quando non è più necessario.

Per informazioni sugli errori estesi, chiamare GetLastError. I codici di errore possibili restituiti dalla funzione GetLastError includono, a titolo esemplificativo, quanto segue.

Codice restituito Descrizione
ERROR_INVALID_PARAMETER
Uno o più parametri non sono validi.
CRYPT_E_NOT_IN_REVOCATION_DATABASE
Il certificato finale non contiene un URL di accesso alle informazioni dell'autorità OCSP (AIA).

Commenti

Quando dwFlags è impostato su 0, la funzione CertOpenServerOcspResponse tenta di recuperare una risposta OCSP iniziale prima che venga restituita. Blocca il thread di processo durante il recupero. La funzione CertOpenServerOcspResponse crea un thread in background che prefeta risposte OCSP valide per il tempo. Se non è possibile recuperare correttamente la prima risposta OCSP, verrà comunque restituito un handle non NULL se non uno dei casi di errore indicati in precedenza.

Quando dwFlags è impostato su 1 o CERT_SERVER_OCSP_RESPONSE_ASYNC_FLAG, la funzione CertOpenServerOcspResponse restituirà immediatamente senza eseguire il recupero sincrono iniziale.

La funzione CertOpenServerOcspResponse incrementa il conteggio dei riferimenti per il contesto della catena rappresentato dal parametro pChainContext . Al termine dell'uso del contesto della catena, chiudere l'handle restituito chiamando la funzione CertCloseServerOcspResponse .

La funzione CertOpenServerOcspResponse inizializza le impostazioni di configurazione usate dalle funzioni seguenti:

Innanzitutto, la funzione CertOpenServerOcspResponse inizializza le impostazioni in base ai valori predefiniti in Wincrypt.h. Se la funzione trova successivamente la chiave del Registro di sistema definita in CERT_CHAIN_CONFIG_REGPATH, aggiorna i valori inizializzati in precedenza con i valori del Registro di sistema.

I nomi delle impostazioni di configurazione e i valori predefiniti seguenti vengono inizializzati da questa funzione:

  • CERT_SRV_OCSP_RESP_MIN_VALIDITY_SECONDS_VALUE_NAME

    L"SrvOcspRespMinValiditySeconds"

    Validità minima della risposta OCSP del server da restituire da CertGetServerOcspResponseContext. La validità della risposta OCSP deve essere sufficientemente lunga che il client la considera come valida per il tempo.

  • CERT_SRV_OCSP_RESP_MIN_VALIDITY_SECONDS_DEFAULT

    (10 × 60)

    10 minuti.

  • CERT_SRV_OCSP_RESP_URL_RETRIEVAL_TIMEOUT_MILLISECONDS_VALUE_NAME

    L"SrvOcspRespRespUrlRetrievalTimeoutMilliseconds"

    Questo è il tempo massimo prima del timeout del recupero dell'URL di trasmissione della risposta OCSP.

  • CERT_SRV_OCSP_RESP_URL_RETRIEVAL_TIMEOUT_MILLISECONDS_DEFAULT

    (15 × 1000)

    15 secondi.

  • CERT_SRV_OCSP_RESP_MAX_BEFORE_NEXT_UPDATE_SECONDS_VALUE_NAME

    L"SrvOcspRespMaxBeforeNextUpdateSeconds"

    Questo è il numero massimo di secondi per eseguire un recupero di prelettura della risposta OCSP del server prima della data NextUpdate di una risposta OCSP. Il thread di risposta OCSP del server attende fino a quando l'ora corrente è maggiore o uguale alla data NextUpdate meno questo numero di secondi per eseguire un recupero di prelettura.

  • CERT_SRV_OCSP_RESP_MAX_BEFORE_NEXT_UPDATE_SECONDS_DEFAULT

    (4 ×60 × 60)

    4 ore.

  • CERT_SRV_OCSP_RESP_MIN_BEFORE_NEXT_UPDATE_SECONDS_VALUE_NAME

    L"SrvOcspRespMinBeforeNextUpdateSeconds"

    Questo è il numero minimo di secondi per eseguire un recupero di prelettura della risposta OCSP del server prima della data NextUpdate di una risposta OCSP. Se l'ora corrente è maggiore o uguale alla data NextUpdate meno questo numero di secondi, il thread di risposta OCSP del server attende fino alla data di NextUpdate più il numero di secondi CERT_SRV_OCSP_RESP_MIN_AFTER_NEXT_UPDATE_SECONDS_VALUE_NAME prima di eseguire un recupero di prelettura.

  • CERT_SRV_OCSP_RESP_MIN_BEFORE_NEXT_UPDATE_SECONDS_DEFAULT

    (2 × 60)

    2 minuti.

  • CERT_SRV_OCSP_RESP_MIN_AFTER_NEXT_UPDATE_SECONDS_VALUE_NAME

    L"SrvOcspRespMinAfterNextUpdateSeconds"

    Questo è il numero minimo di secondi per eseguire un recupero di prelettura della risposta OCSP del server dopo la data NextUpdate di una risposta OCSP. Quando l'ora corrente è maggiore della data NextUpdate meno il CERT_SRV_OCSP_RESP_MIN_BEFORE_NEXT_UPDATE_SECONDS_VALUE_NAME numero di secondi ma inferiore alla data nextUpdate, il thread di risposta OCSP del server attende questo numero di secondi dopo la data di NextUpdate per eseguire un recupero di prelettura.

  • CERT_SRV_OCSP_RESP_MIN_AFTER_NEXT_UPDATE_SECONDS_DEFAULT

    (1 × 60)

    1 minuto.

Requisiti

   
Client minimo supportato Windows Vista [solo app desktop]
Server minimo supportato Windows Server 2008 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione wincrypt.h
Libreria Crypt32.lib
DLL Crypt32.dll

Vedi anche

CertCloseServerOcspResponse