Fonction CertGetCRLFromStore (wincrypt.h)
La fonction CertGetCRLFromStore obtient le contexte de liste de révocation de certificats (CRL) premier ou suivant à partir du magasin de certificats de l’émetteur spécifié. La fonction effectue également les vérifications de vérification activées sur la liste de révocation de certificats. Les nouvelles fonctions de vérification de la chaîne de certificats sont recommandées au lieu de cette fonction.
Syntaxe
PCCRL_CONTEXT CertGetCRLFromStore(
[in] HCERTSTORE hCertStore,
[in, optional] PCCERT_CONTEXT pIssuerContext,
[in] PCCRL_CONTEXT pPrevCrlContext,
[in, out] DWORD *pdwFlags
);
Paramètres
[in] hCertStore
Handle d’un magasin de certificats.
[in, optional] pIssuerContext
Pointeur vers un CERT_CONTEXT émetteur. Le pointeur pIssuerContext peut provenir de ce magasin ou d’un autre magasin, ou avoir été créé par l’appelant CertCreateCertificateContext. Si la valeur NULL est transmise pour ce paramètre, toutes les listes de contrôle d’accès dans le magasin sont trouvées.
[in] pPrevCrlContext
Pointeur vers un CRL_CONTEXT. Un émetteur peut avoir plusieurs listes de contrôle d’émission. Par exemple, il peut générer des listes de contrôle d’accès delta à l’aide d’une extension X.509 version 3. Ce paramètre doit avoir la valeur NULL lors du premier appel pour obtenir la liste de révocation de certificats. Pour obtenir la liste de révocation de certificats suivante pour l’émetteur, le paramètre est défini sur le CRL_CONTEXT retourné par un appel précédent. Un pPrevCrlContext non NULL est toujours libéré par cette fonction en appelant CertFreeCRLContext, même en cas d’erreur.
[in, out] pdwFlags
Les valeurs d’indicateur suivantes sont définies pour activer les vérifications sur la liste de révocation de certificats retournée. Ces indicateurs peuvent être combinés à l’aide d’une opération OR au niveau du bit.
Si une case activée de vérification activée réussit, son indicateur est défini sur zéro.
Si une case activée de vérification activée échoue, son indicateur reste défini lors du retour. Si pIssuerContext a la valeur NULL, une CERT_STORE_SIGNATURE_FLAG activée échoue toujours et le CERT_STORE_NO_ISSUER_FLAG est également défini. Pour plus d’informations, consultez Remarques.
Si une seule des CERT_STORE_BASE_CRL_FLAG ou CERT_STORE_DELTA_CRL_FLAG est définie, cette fonction retourne une liste de révocation de certificats de base ou delta et l’indicateur de base ou delta approprié est effacé au retour. Si les deux indicateurs sont définis, un seul des indicateurs est effacé.
Pour une vérification case activée échec, un pointeur vers le premier ou le suivant CRL_CONTEXT est toujours retourné et GetLastError n’est pas mis à jour.
Valeur retournée
Si la fonction réussit, la valeur de retour est un pointeur vers un CRL_CONTEXT en lecture seule.
Si la fonction échoue et que la première ou la prochaine liste de révocation de certificats est introuvable, la valeur de retour est NULL.
Le CRL_CONTEXT retourné doit être libéré en appelant CertFreeCRLContext. Toutefois, lorsque le CRL_CONTEXT retourné est fourni pour pPrevCrlContext lors d’un appel suivant, la fonction le libère.
Pour obtenir des informations d’erreur étendues, appelez GetLastError. Certains codes d’erreur possibles suivent.
Valeur | Description |
---|---|
|
Le handle dans le paramètre hCertStore n’est pas le même que dans le contexte CRL pointé vers le paramètre pPrevCrlContext , ou un indicateur non pris en charge a été défini dans pdwFlags. |
|
Soit il n’existait pas de listes de contrôle d’accès dans le magasin pour l’émetteur, soit la fonction a atteint la fin de la liste du magasin. |
Remarques
CertDuplicateCRLContext peut être appelé pour créer une liste de révocation de certificats en double.
Les valeurs hexadécimales des indicateurs peuvent être combinées à l’aide d’une opération OR au niveau du bit pour activer les deux vérifications. Par exemple, pour activer les deux vérifications, la valeur DWORD pointée par pdwFlags est définie sur la valeur CERT_STORE_SIGNATURE_FLAG | CERT_STORE_TIME_VALIDITY_FLAG. Si la vérification CERT_STORE_SIGNATURE_FLAG a réussi, mais que CERT_STORE_TIME_VALIDITY_FLAG vérification a échoué, la valeur DWORD pointée par pdwFlags est définie sur CERT_STORE_TIME_VALIDITY_FLAG lorsque la fonction retourne.
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 |