Fonction CertFindSubjectInCTL (wincrypt.h)

La fonction CertFindSubjectInCTL tente de trouver l’objet spécifié dans une liste de certificats d’approbation (CTL). Un sujet peut être identifié par l’ensemble du contexte du certificat ou par n’importe quel identificateur unique de l’objet du certificat, tel que le hachage SHA1 de l’émetteur et du numéro de série du certificat.

Syntaxe

PCTL_ENTRY CertFindSubjectInCTL(
  [in] DWORD         dwEncodingType,
  [in] DWORD         dwSubjectType,
  [in] void          *pvSubject,
  [in] PCCTL_CONTEXT pCtlContext,
  [in] DWORD         dwFlags
);

Paramètres

[in] dwEncodingType

Spécifie le type d’encodage utilisé. Actuellement, seuls les X509_ASN_ENCODING et les PKCS_7_ASN_ENCODING sont utilisés ; toutefois, des types d’encodage supplémentaires peuvent être ajoutés à l’avenir. Pour l’un ou l’autre type d’encodage actuel, utilisez :

X509_ASN_ENCODING | PKCS_7_ASN_ENCODING.

[in] dwSubjectType

Spécifie le type de sujet à rechercher dans la CTL. Peut être NULL pour une recherche par défaut.

Valeur Signification
CTL_CERT_SUBJECT_TYPE
type de données pvSubject : pointeur vers une structure CERT_CONTEXT .

L’élément SubjectAlgorithm de la LTL est examiné pour déterminer la représentation de l’identité du sujet. Initialement, seuls les hachages SHA1 et MD5 sont pris en charge en tant que valeurs pour SubjectAlgorithm. La propriété de hachage appropriée est obtenue à partir de la structure CERT_CONTEXT .

CTL_ANY_SUBJECT_TYPE
type de données pvSubject : pointeur vers une structure CTL_ANY_SUBJECT_INFO .

Le membre SubjectAlgorithm de cette structure doit correspondre au type d’algorithme de la CTL, et le membre SubjectIdentifier doit correspondre à l’une des entrées CTL.

 

Le hachage du certificat ou le membre SubjectIdentifier de la structure CTL_ANY_SUBJECT_INFO est utilisé comme clé lors de la recherche dans les entrées d’objet. Une comparaison de la mémoire binaire est effectuée entre la clé et l’objet SubjectIdentifier de l’entrée.

Si dwSubjectType a la valeur précédente, dwEncodingType n’est pas utilisé.

[in] pvSubject

Pointeur utilisé conjointement avec le paramètre dwSubjectType .

[in] pCtlContext

Pointeur vers la structure CTL_CONTEXT recherché.

[in] dwFlags

Réservé à une utilisation future et doit être égal à zéro.

Valeur retournée

Si la fonction réussit, la valeur de retour est l’entrée, si elle est trouvée.

Si la fonction échoue, 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
CRYPT_E_NOT_FOUND
Le sujet n’a pas été trouvé dans la CTL.
E_INVALIDARG
Le paramètre dwSubjectType n’était ni CTL_CERT_SUBJECT_TYPE ni CTL_ANY_SUBJECT_TYPE.
NTE_BAD_ALGID
Le membre SubjectAlgorithm de la CTL n’a pas mappé à SHA1 ou MD5.

Remarques

Le hachage du certificat ou le membre SubjectIdentifier de la structure CTL_ANY_SUBJECT_INFO est utilisé comme clé lors de la recherche dans les entrées d’objet. Une comparaison de la mémoire binaire est effectuée entre la clé et l’objet SubjectIdentifier de l’entrée.

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

CERT_CONTEXT

CTL_ANY_SUBJECT_INFO

CTL_CONTEXT

CertFindCTLInStore

Fonctions de maintenance du magasin de certificats et de certificats