Partager via


CertOpenServerOcspResponse, fonction (wincrypt.h)

La fonction CertOpenServerOcspResponse ouvre un handle à une réponse OCSP (Certificate status Protocol) en ligne associée à une chaîne de certificats de serveur.

Syntaxe

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

Paramètres

[in] pChainContext

Adresse d’une structure de CERT_CHAIN_CONTEXT qui contient la chaîne de certificats.

[in] dwFlags

Valeur Signification
0
0x00000000
Cette API tente de récupérer une réponse OCSP initiale avant de la retourner, ce qui signifie qu’elle se bloque pendant la récupération.
CERT_SERVER_OCSP_RESPONSE_ASYNC_FLAG
0x00000001
Définissez cet indicateur pour qu’il retourne immédiatement sans effectuer la récupération synchrone initiale.

pOpenPara

Ce paramètre n’est pas utilisé et doit être NULL.

Valeur de retour

Retourne un handle à la réponse OCSP associée à une chaîne de certificats de serveur en cas de réussite ; sinon, NULL. Ce handle doit être passé à la fonction CertCloseServerOcspResponse quand elle n’est plus nécessaire.

Pour obtenir des informations d’erreur étendues, appelez GetLastError. Les codes d’erreur possibles retournés par la fonction GetLastError incluent, sans s’y limiter, les éléments suivants.

Code de retour Description
ERROR_INVALID_PARAMETER
Un ou plusieurs paramètres ne sont pas valides.
CRYPT_E_NOT_IN_REVOCATION_DATABASE
Le certificat de fin ne contient pas d’URL d’accès aux informations d’autorité OCSP (AIA).

Notes

Lorsque la valeur dwFlags est 0, la fonction CertOpenServerOcspResponse tente de récupérer une réponse OCSP initiale avant qu’elle ne soit retournée. Il bloque son thread de processus pendant la récupération. La fonction CertOpenServerOcspResponse crée un thread d’arrière-plan qui prédéfinit les réponses OCSP dans le temps. Si vous ne parvenez pas à récupérer la première réponse OCSP, un handle non NULL est toujours retourné si ce n’est pas l’un des cas d’erreur mentionnés ci-dessus.

Lorsque la valeur dwFlags est 1 ou CERT_SERVER_OCSP_RESPONSE_ASYNC_FLAG, la fonction CertOpenServerOcspResponse retourne immédiatement sans effectuer la récupération synchrone initiale.

La fonction CertOpenServerOcspResponse incrémente le nombre de références pour le contexte de chaîne représenté par le paramètre pChainContext . Lorsque vous avez terminé d’utiliser le contexte de chaîne, fermez le handle retourné en appelant la fonction CertCloseServerOcspResponse .

La fonction CertOpenServerOcspResponse initialise les paramètres de configuration utilisés par les fonctions suivantes :

Tout d’abord, la fonction CertOpenServerOcspResponse initialise les paramètres en fonction des valeurs par défaut dans Wincrypt.h. Si la fonction trouve par la suite la clé de Registre définie dans CERT_CHAIN_CONFIG_REGPATH, elle met à jour les valeurs initialisées précédemment avec les valeurs de Registre.

Les noms des paramètres de configuration et les valeurs par défaut suivants sont initialisés par cette fonction :

  • CERT_SRV_OCSP_RESP_MIN_VALIDITY_SECONDS_VALUE_NAME

    L"SrvOcspRespMinValiditySeconds »

    Durée minimale de validité de la réponse OCSP du serveur à retourner par CertGetServerOcspResponseContext. La validité de la réponse OCSP doit être suffisamment longue pour que le client la traite comme une heure valide.

  • CERT_SRV_OCSP_RESP_MIN_VALIDITY_SECONDS_DEFAULT

    (10 × 60)

    10 minutes.

  • CERT_SRV_OCSP_RESP_URL_RETRIEVAL_TIMEOUT_MILLISECONDS_VALUE_NAME

    L"SrvOcspRespUrlRetrievalTimeoutMilliseconds »

    Il s’agit du délai maximal avant l’expiration de la récupération de l’URL de fil de prérécupération d’une réponse OCSP.

  • CERT_SRV_OCSP_RESP_URL_RETRIEVAL_TIMEOUT_MILLISECONDS_DEFAULT

    (15 × 1000)

    15 secondes.

  • CERT_SRV_OCSP_RESP_MAX_BEFORE_NEXT_UPDATE_SECONDS_VALUE_NAME

    L"SrvOcspRespMaxBeforeNextUpdateSeconds »

    Il s’agit du nombre maximal de secondes pour effectuer une récupération de prérécupération de la réponse OCSP du serveur avant la date NextUpdate d’une réponse OCSP. Le thread de réponse OCSP du serveur attend que l’heure actuelle soit supérieure ou égale à la date NextUpdate moins ce nombre de secondes pour effectuer une récupération de prérécupération.

  • CERT_SRV_OCSP_RESP_MAX_BEFORE_NEXT_UPDATE_SECONDS_DEFAULT

    (4 ×60 × 60)

    4 heures.

  • CERT_SRV_OCSP_RESP_MIN_BEFORE_NEXT_UPDATE_SECONDS_VALUE_NAME

    L"SrvOcspRespMinBeforeNextUpdateSeconds »

    Il s’agit du nombre minimal de secondes pour effectuer une récupération de prérécupération de réponse OCSP de serveur avant la date NextUpdate d’une réponse OCSP. Si l’heure actuelle est supérieure ou égale à la date NextUpdate moins ce nombre de secondes, le thread de réponse OCSP du serveur attend jusqu’à la date NextUpdate plus le nombre de secondes CERT_SRV_OCSP_RESP_MIN_AFTER_NEXT_UPDATE_SECONDS_VALUE_NAME avant d’effectuer une récupération avant prérécupération.

  • CERT_SRV_OCSP_RESP_MIN_BEFORE_NEXT_UPDATE_SECONDS_DEFAULT

    (2 × 60)

    2 minutes.

  • CERT_SRV_OCSP_RESP_MIN_AFTER_NEXT_UPDATE_SECONDS_VALUE_NAME

    L"SrvOcspRespMinAfterNextUpdateSeconds »

    Il s’agit du nombre minimal de secondes pour effectuer une récupération de prérécupération de la réponse OCSP du serveur après la date NextUpdate d’une réponse OCSP. Lorsque l’heure actuelle est supérieure à la date NextUpdate moins le nombre de secondes CERT_SRV_OCSP_RESP_MIN_BEFORE_NEXT_UPDATE_SECONDS_VALUE_NAME mais inférieure à la date NextUpdate, le thread de réponse OCSP du serveur attend ce nombre de secondes après la date NextUpdate pour effectuer une récupération préalable.

  • CERT_SRV_OCSP_RESP_MIN_AFTER_NEXT_UPDATE_SECONDS_DEFAULT

    (1 × 60)

    1 minute.

Configuration requise

   
Client minimal pris en charge Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau uniquement]
Plateforme cible Windows
En-tête wincrypt.h
Bibliothèque Crypt32.lib
DLL Crypt32.dll

Voir aussi

CertCloseServerOcspResponse