Partager via


Fonction CertAddCRLLinkToStore (wincrypt.h)

La fonction CertAddCRLLinkToStore ajoute un lien dans un magasin à un contexte de liste de révocation de certificats (CRL) dans un autre magasin. Au lieu de créer et d’ajouter un doublon de la liste de révocation de certificats, cette fonction ajoute un lien vers le contexte de liste de révocation de certificats d’origine.

Syntaxe

BOOL CertAddCRLLinkToStore(
  [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 dans lequel le lien doit être ajouté.

[in] pCrlContext

Pointeur vers la structure CRL_CONTEXT à lier.

[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 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 existante ou un lien vers une liste de révocation de révocation de certificats correspondante. Un nouveau lien est toujours ajouté au magasin. Cela peut entraîner des doublons dans un magasin.
CERT_STORE_ADD_NEW
Si une liste de révocation de certificats correspondante ou un lien vers une liste de révocation de certificats correspondante existe, 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, les heures thisUpdate sur les listes de révocation de certificats sont comparées. Si la liste de révocation de certificats existante a un délai ThisUpdate inférieur à l’heure ThisUpdate sur la nouvelle liste de révocation de certificats, l’ancien lien est remplacé comme avec CERT_STORE_ADD_REPLACE_EXISTING. Si la liste de révocation de certificats existante a une heure 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, un nouveau lien est ajouté au magasin.

CERT_STORE_ADD_REPLACE_EXISTING
S’il existe un lien vers la liste de révocation de certificats correspondante, ce lien existant est supprimé et un nouveau lien est créé et ajouté 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, un nouveau lien est ajouté.
CERT_STORE_ADD_USE_EXISTING
Si une liste de révocation de certificats correspondante ou un lien vers une liste de révocation de certificats correspondante existe, ce lien existant est utilisé. La fonction n’échoue pas, mais aucun nouveau lien n’est ajouté. Si une liste de révocation de révocation de certificats correspondante ou un lien vers une liste de révocation de certificats n’existe pas, un nouveau lien est ajouté.

[out, optional] ppStoreContext

Pointeur vers un pointeur d’une copie du lien créé. Le paramètre ppStoreContext peut avoir la valeur NULL pour indiquer qu’une copie du lien n’est pas nécessaire. Si une copie du lien est créée, cette copie doit être libérée à 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. Pour obtenir des informations d’erreur étendues, appelez GetLastError. Certains codes d’erreur possibles suivent.

Code de retour Description
CRYPT_E_EXISTS
Pour une dwAddDisposition de CERT_STORE_ADD_NEW, la CTL existe déjà dans le magasin.
E_INVALIDARG
Une valeur de disposition non valide a été spécifiée dans le paramètre dwAddDisposition .

Remarques

Étant donné que le lien fournit l’accès à un contexte de liste de révocation de certificats d’origine, la définition d’une propriété étendue dans le contexte de liste de révocation de certificats lié modifie cette propriété étendue dans l’emplacement d’origine de la liste de révocation de certificats et dans tout autre lien vers cette liste de révocation de certificats.

Les liens ne peuvent pas être ajoutés à un magasin ouvert en tant que collection. Les magasins ouverts en tant que collections incluent tous les magasins ouverts avec CertOpenSystemStore ou CertOpenStore à l’aide de CERT_STORE_PROV_SYSTEM ou de CERT_STORE_PROV_COLLECTION. Pour plus d’informations, consultez CertAddStoreToCollection.

Si des liens sont utilisés et que CertCloseStore est appelé avec CERT_CLOSE_STORE_FORCE_FLAG, le magasin utilisant des liens doit être fermé avant que le magasin contenant les contextes d’origine puisse être fermé. Si CERT_CLOSE_STORE_FORCE_FLAG n’est pas utilisé, les deux magasins peuvent être fermés dans l’un ou l’autre ordre.

Pour supprimer le lien de contexte CRL du magasin de certificats, utilisez la fonction CertDeleteCRLFromStore .

Configuration requise

Condition requise Valeur
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

CertAddCTLLinkToStore

CertAddCertificateLinkToStore

CertAddStoreToCollection

CertCloseStore

CertFreeCRLContext

CertOpenStore

CertOpenSystemStore

Fonctions de liste de révocation de certificats