Fonction CertFindCTLInStore (wincrypt.h)
La fonction
Syntaxe
PCCTL_CONTEXT CertFindCTLInStore(
[in] HCERTSTORE hCertStore,
[in] DWORD dwMsgAndCertEncodingType,
[in] DWORD dwFindFlags,
[in] DWORD dwFindType,
[in] const void *pvFindPara,
[in] PCCTL_CONTEXT pPrevCtlContext
);
Paramètres
[in] hCertStore
Handle du magasin de certificats à rechercher.
[in] dwMsgAndCertEncodingType
Spécifie le type d’encodage utilisé sur la durée de vie. Il est toujours acceptable de spécifier à la fois le certificat et types d’encodage de message en les combinant avec une opération deOU au niveau du bit, comme illustré dans l’exemple suivant :
X509_ASN_ENCODING | PKCS_7_ASN_ENCODING types d’encodage actuellement définis sont les suivants :
- X509_ASN_ENCODING
- PKCS_7_ASN_ENCODING
Ce paramètre est utilisé uniquement lorsque le paramètre dwFindType est défini sur CTL_FIND_USAGE.
[in] dwFindFlags
Peut être défini lorsque dwFindType est défini sur CTL_FIND_USAGE. Pour plus d’informations, consultez les commentaires sous CTL_FIND_USAGE, ci-dessous.
[in] dwFindType
Spécifie le type de recherche effectué. Le type de recherche détermine le type de données, le contenu et l’utilisation de pvFindPara. Ce paramètre peut être l’une des valeurs suivantes.
Valeur | Signification |
---|---|
|
Type de données de pvFindPara: NULL .
Toute durée de vie est une correspondance. |
|
Type de données de pvFindPara: CRYPT_HASH_BLOB.
Une durée de vie CTL avec un hachage correspondant au hachage dans la structure CRYPT_HASH_BLOB est trouvée. |
|
Type de données de pvFindPara: CRYPT_HASH_BLOB.
Une durée de vie CTL avec un hachage correspondant au hachage dans la structure CRYPT_HASH_BLOB est trouvée. |
|
Type de données de pvFindPara: CTL_FIND_USAGE_PARA.
Toute durée de vie est trouvée avec un identificateur d’utilisation, un identificateur de liste ou un signataire correspondant à l’identificateur d’utilisation, à l’identificateur de liste ou au signataire dans la structure CTL_FIND_USAGE_PARA. Si le membre cUsageIdentifier est de taille SubjectUsage, toute durée de vie CTL est une correspondance. Si le membre cbData de ListIdentifier membre est égal à zéro, tout identificateur de liste est une correspondance. Si le membre cbData de ListIdentifier est CTL_FIND_NO_LIST_ID_CBDATA, seule une durée de vie CTL sans identificateur de liste est une correspondance. Si le membre |
|
Type de données de pvFindPara: CTL_FIND_USAGE_PARA.
Seules les listes CTL avec exactement les mêmes identificateurs d’utilisation sont mises en correspondance. Les listes CTL ayant des identificateurs d’utilisation supplémentaires ne sont pas mises en correspondance. Par exemple, si seul « 1.2.3 » est spécifié dans la structure CTL_FIND_USAGE_PARA, pour une correspondance, la durée de vie doit contenir uniquement « 1.2.3 » et aucun identificateur d’utilisation supplémentaire. |
|
Type de données de pvFindPara: PCCTL_CONTEXT.
Recherche la liste de révocation de certificats suivante qui correspond exactement à la CTL_CONTEXT. |
|
Type de données de pvFindPara: CTL_FIND_SUBJECT_PARA.
Une durée de vie contenant l’objet spécifié est trouvée. CertFindSubjectInCTL pouvez être appelée pour obtenir un pointeur vers l’entrée de l’objet dans la durée de vie. Le membre pUsagePara dans CTL_FIND_SUBJECT_PARA peut éventuellement être défini pour activer la correspondance décrite ci-dessus sous CTL_FIND_USAGE. |
[in] pvFindPara
Pointeur vers la valeur de recherche associée au paramètre dwFindType.
[in] pPrevCtlContext
Pointeur vers la dernière CTL_CONTEXT retournée par cette fonction. Il doit être null pour obtenir la première durée de vie CTL dans le magasin. Les listes CTL successives sont récupérées en définissant pPrevCtlContext vers le pointeur vers le CTL_CONTEXT retourné par un appel de fonction précédent. Tous les certificats qui ne répondent pas aux critères de recherche ou qui ont été précédemment supprimés par CertDeleteCTLFromStore sont ignorés. Cette fonction libère les CTL_CONTEXT référencées par des valeurs null nonNULL de ce paramètre.
Valeur de retour
Si la fonction réussit, la valeur de retour est un pointeur vers une CTL en lecture seulecontexte.
Pour obtenir des informations d’erreur étendues, appelez GetLastError. Certains codes d’erreur possibles suivent.
Retourner le code | Description |
---|---|
|
Aucun CTL n’a été trouvé dans le magasin, aucune durée de vie n’a été trouvée correspondant aux critères de recherche, ou la fonction a atteint la fin de la liste du magasin. |
|
Le handle dans le paramètre hCertStore |
Remarques
Un pointeur retourné est libéré lorsqu’il est passé en tant que pPrevCtlContext lors d’un appel ultérieur à la fonction. Sinon, le pointeur doit être libéré en appelant CertFreeCTLContext. UnNULLpPrevCtlContext transmis à la fonction est toujours libéré avec un appel à CertFreeCTLContext, même si la fonction génère une erreur.
CertDuplicateCTLContext peut être appelé pour effectuer un doublon du contexte retourné. Le contexte de durée de vie CTL retourné peut être ajouté à un autre magasin de certificats à l’aide de CertAddCTLContextToStore, ou un lien vers ce contexte de durée de vie peut être ajouté à un magasin de non-regroupements à l’aide de CertAddCTLLinkToStore. Si une durée de vie correspondant aux critères de recherche est introuvable, NULL est retournée.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Windows XP [applications de bureau | Applications UWP] |
serveur minimum pris en charge | Windows Server 2003 [applications de bureau | Applications UWP] |
plateforme cible | Windows |
d’en-tête | wincrypt.h |
bibliothèque | Crypt32.lib |
DLL | Crypt32.dll |