Fonction CertFindCRLInStore (wincrypt.h)
La fonction CertFindCRLInStore recherche le premier ou le prochain contexte de liste de révocation de certificats (CRL) dans un magasin de certificats qui correspond à un critère de recherche établi par le paramètre dwFindType et le paramètre pvFindPara associé. Cette fonction peut être utilisée dans une boucle pour rechercher tous les contextes de liste de révocation de certificats dans un magasin de certificats qui correspondent aux critères de recherche spécifiés.
Syntaxe
PCCRL_CONTEXT CertFindCRLInStore(
[in] HCERTSTORE hCertStore,
[in] DWORD dwCertEncodingType,
[in] DWORD dwFindFlags,
[in] DWORD dwFindType,
[in] const void *pvFindPara,
[in] PCCRL_CONTEXT pPrevCrlContext
);
Paramètres
[in] hCertStore
Handle du magasin de certificats à rechercher.
[in] dwCertEncodingType
Ce paramètre n’est actuellement pas utilisé. Elle doit être définie sur zéro.
[in] dwFindFlags
Si dwFindType est CRL_FIND_ISSUED_BY, par défaut, seule la correspondance du nom de l’émetteur est effectuée. Les indicateurs suivants peuvent être utilisés pour effectuer un filtrage supplémentaire.
Valeur | Signification |
---|---|
|
Recherche une liste de révocation de certificats qui a une extension AKI (Authority Key Identifier). Si la liste de révocation de certificats a une AKI, seule une liste de révocation de certificats dont l’AKI correspond à l’émetteur est retournée.
Note L’extension AKI a la valeur d’identificateur d’objet (OID) szOID_AUTHORITY_KEY_IDENTIFIER2 et sa structure de données correspondante.
|
|
Utilisez la clé publique dans le certificat de l’émetteur pour vérifier la signature sur la liste de révocation de certificats. Retourne uniquement une liste de révocation de certificats qui a une signature valide. |
|
Recherche et retourne une liste de révocation de certificats delta. |
|
Recherche et retourne une liste de révocation de certificats de base. |
|
La force de la signature est vérifiée après une vérification réussie. Cet indicateur s’applique uniquement lorsque le paramètre dwFindType a la valeur CRL_FIND_ISSUED_FOR. Vous devez également définir CRL_FIND_ISSUED_BY_SIGNATURE_FLAG. En cas de réussite, les propriétés de signature forte suivantes sont définies dans le contexte de liste de révocation de certificats :
|
[in] dwFindType
Spécifie le type de recherche effectué. La valeur de dwFindType détermine le type de données, le contenu et l’utilisation du paramètre pvFindPara . Les types de recherche actuellement définis et leurs exigences pvFindPara sont les suivants.
Valeur | Signification |
---|---|
|
Aucun critère de recherche. La liste de révocation de certificats suivante dans le magasin est retournée. |
|
Recherche la liste de révocation de certificats suivante dans le magasin correspondant à l’émetteur dans le CERT_CONTEXT. |
|
Recherche la liste de révocation de certificats suivante qui correspond à la CRL_CONTEXT des manières suivantes :
|
|
Recherche la liste de révocation de certificats suivante dans le magasin qui correspond à l’émetteur du certificat d’objet dans la structure CRL_FIND_ISSUED_FOR_PARA.
Si aucune liste de révocation de certificats n’est trouvée, recherche la liste de révocation de certificats suivante dans le magasin qui correspond à l’émetteur dans la structure CRL_FIND_ISSUED_FOR_PARA. Note Lors de l’utilisation de certificats croisés, le nom de l’objet dans le certificat de l’émetteur peut ne pas correspondre au nom de l’émetteur dans le certificat d’objet et à sa liste de révocation de certificats correspondante.
|
[in] pvFindPara
Ce paramètre est déterminé par la valeur de dwFindType. Pour plus d’informations, consultez le tableau plus haut dans cette rubrique.
[in] pPrevCrlContext
Pointeur vers la dernière CRL_CONTEXT retournée par cette fonction. Doit avoir la valeur NULL pour obtenir la première liste de révocation de certificats dans le magasin répondant aux critères de recherche. Les listes de révocation de certificats successives répondant aux critères de recherche peuvent être trouvées en définissant pPrevCrlContext sur le pointeur PCCRL_CONTEXT retourné par un appel précédent à la fonction. Le processus de recherche ignore les listes de révocation de certificats qui ne correspondent pas aux critères de recherche ou qui ont été précédemment supprimées du magasin par CertDeleteCRLFromStore. Cette fonction libère les CRL_CONTEXT référencées par des valeurs de ce paramètre qui ne sont pas NULL.
Valeur retournée
Si la fonction réussit, la fonction retourne un pointeur vers un contexte de liste de révocation de certificats en lecture seule. Une fois que vous avez terminé d’utiliser le contexte de liste de révocation de certificats retourné, libérez-le en appelant la fonction CertFreeCRLContext ou en la libérant implicitement en la passant en tant que paramètre pPrevCrlContext lors d’un appel ultérieur à la fonction CertFindCRLInStore .
Si la fonction échoue et qu’une liste de révocation de certificats correspondant aux critères de recherche est introuvable, la valeur de retour est NULL. Pour obtenir des informations d’erreur étendues, appelez GetLastError. Certains codes d’erreur possibles suivent.
Code de retour | Description |
---|---|
|
Le handle dans le paramètre hCertStore n’est pas le même que dans le contexte de liste de révocation de certificats pointé par le paramètre pPrevCrlContext , ou un type de recherche non valide a été spécifié dans le paramètre dwFindType . |
|
Aucune liste de révocation de certificats n’est disponible dans le magasin, aucune liste de révocation de certificats correspondant aux critères de recherche n’a été trouvée ou la fin de la liste du magasin a été atteinte. |
Remarques
Le pointeur retourné est libéré lorsqu’il est passé en tant que paramètre pPrevCrlContext lors d’un appel ultérieur à la fonction. Sinon, le pointeur doit être explicitement libéré en appelant CertFreeCRLContext. Un pPrevCrlContext qui n’est pas NULL est toujours libéré par CertFindCRLInStore à l’aide d’un appel à CertFreeCRLContext, même en cas d’erreur dans la fonction.
CertDuplicateCRLContext peut être appelé pour créer un doublon du contexte retourné. Le contexte de liste de révocation de certificats retourné peut être ajouté à un autre magasin de certificats à l’aide de CertAddCRLContextToStore, ou un lien vers ce contexte de liste de révocation de certificats peut être ajouté à un magasin non-collection à l’aide de CertAddCRLLinkToStore.
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 |