CertAddCRLContextToStore, fonction (wincrypt.h)

La fonction CertAddCRLContextToStore ajoute un contexte de liste de révocation de certificats (CRL) au magasin de certificats spécifié.

Syntaxe

BOOL CertAddCRLContextToStore(
  [in]            HCERTSTORE    hCertStore,
  [in]            PCCRL_CONTEXT pCrlContext,
  [in]            DWORD         dwAddDisposition,
  [out, optional] PCCRL_CONTEXT *ppStoreContext
);

Paramètres

[in] hCertStore

Handle d’un magasin de certificats.

[in] pCrlContext

Pointeur vers la structure CRL_CONTEXT à ajouter.

[in] dwAddDisposition

Spécifie l’action à entreprendre si une liste de révocation de certificats correspondante ou un lien vers une liste de révocation de certificats correspondante existe déjà dans le magasin. Les valeurs de disposition actuellement définies et leurs utilisations sont les suivantes.

Valeur Signification
CERT_STORE_ADD_ALWAYS
N’effectue aucune case activée pour une liste de révocation de certificats correspondante ou un lien vers une liste de révocation de certificats correspondante. Une nouvelle liste de révocation de certificats est toujours ajoutée au magasin. Cela peut entraîner des doublons dans un magasin.
CERT_STORE_ADD_NEW
S’il existe une liste de révocation de certificats correspondante ou un lien vers une liste de révocation de certificats correspondante, l’opération échoue. GetLastError retourne le code CRYPT_E_EXISTS.
CERT_STORE_ADD_NEWER
S’il existe une liste de révocation de certificats correspondante ou un lien vers une liste de révocation de certificats correspondante, la fonction compare les heures ThisUpdate sur les listes de révocation de certificats. Si la liste de révocation de certificats existante a une durée ThisUpdate inférieure à la durée ThisUpdate sur la nouvelle liste de révocation de certificats, l’ancienne liste de révocation de certificats ou le lien est remplacé comme avec CERT_STORE_ADD_REPLACE_EXISTING. Si la liste de révocation de certificats existante a une durée ThisUpdate supérieure ou égale à l’heure ThisUpdate sur la liste de révocation de certificats à ajouter, la fonction échoue avec GetLastError qui retourne le code CRYPT_E_EXISTS.

Si une liste de révocation de certificats correspondante ou un lien vers une liste de révocation de certificats correspondante est introuvable dans le magasin, une nouvelle liste de révocation de certificats est ajoutée au magasin.

CERT_STORE_ADD_NEWER_INHERIT_PROPERTIES
L’action est la même que pour CERT_STORE_ADD_NEWER, sauf que si une liste de révocation de certificats plus ancienne est remplacée, les propriétés de l’ancienne liste de révocation de certificats sont incorporées dans la liste de révocation de certificats de remplacement.
CERT_STORE_ADD_REPLACE_EXISTING
S’il existe une liste de révocation de certificats correspondante ou un lien vers une liste de révocation de certificats correspondante, la liste de révocation de certificats ou le lien existant est supprimé et une nouvelle liste de révocation de certificats est créée et ajoutée au magasin. Si une liste de révocation de certificats correspondante ou un lien vers une liste de révocation de certificats correspondante n’existe pas, une liste de révocation de certificats correspondante est ajoutée.
CERT_STORE_ADD_REPLACE_EXISTING_INHERIT_PROPERTIES
Si une liste de révocation de certificats correspondante existe dans le magasin, le contexte existant est supprimé avant de créer et d’ajouter le nouveau contexte. Le contexte ajouté hérite des propriétés de la liste de révocation de certificats existante.
CERT_STORE_ADD_USE_EXISTING
S’il existe une liste de révocation de certificats correspondante ou un lien vers une liste de révocation de certificats correspondante, celle-ci est utilisée et les propriétés de la nouvelle liste de révocation de certificats sont ajoutées. La fonction n’échoue pas, mais aucune nouvelle liste de révocation de certificats n’est ajoutée. Si ppCertContext n’est pas NULL, le contexte existant est dupliqué.

Si une liste de révocation de certificats correspondante ou un lien vers une liste de révocation de certificats correspondante n’existe pas, une nouvelle liste de révocation de certificats est ajoutée.

[out, optional] ppStoreContext

Pointeur vers un pointeur vers le contexte de liste de révocation de certificats décodé. Il s’agit d’un paramètre facultatif qui peut être NULL, ce qui indique que l’application appelante n’a pas besoin d’une copie de la liste de révocation de certificats ajoutée ou existante. Si une copie est effectuée, ce contexte doit être libéré à l’aide de CertFreeCRLContext.

Valeur retournée

Si la fonction réussit, la valeur de retour est TRUE.

Si la fonction échoue, la valeur de retour est FALSE. Les erreurs des fonctions appelées CertAddEncodedCRLToStore et CertSetCRLContextProperty peuvent être propagées à cette fonction.

Pour obtenir des informations d’erreur étendues, appelez GetLastError. Certains codes d’erreur possibles suivent.

Code de retour Description
CRYPT_E_EXISTS
Cette erreur est retournée si CERT_STORE_ADD_NEW est défini et que la liste de révocation de certificats existe déjà dans le magasin ou si CERT_STORE_ADD_NEWER est défini et qu’une liste de révocation de certificats existe dans le magasin avec une date ThisUpdate supérieure ou égale à la date ThisUpdate sur la liste de révocation de certificats à ajouter.
E_INVALIDARG
Le paramètre dwAddDisposition a spécifié une valeur de disposition qui n’est pas valide.

Remarques

Le contexte de liste de révocation de certificats n’est pas dupliqué à l’aide de CertDuplicateCRLContext. Au lieu de cela, une nouvelle copie est créée et ajoutée au magasin. En plus de copier la liste de révocation de certificats encodée, la fonction copie les propriétés du contexte.

Pour supprimer le contexte de liste de révocation de certificats du magasin de certificats, utilisez la fonction CertDeleteCRLFromStore .

Configuration requise

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

Voir aussi

CertAddEncodedCRLToStore

CertDuplicateCRLContext

CertFreeCRLContext

CertSetCRLContextProperty

Fonctions de liste de révocation de certificats