Fonction CertVerifySubjectCertificateContext (wincrypt.h)

La fonction CertVerifySubjectCertificateContext effectue les vérifications de vérification activées sur un certificat en vérifiant la validité de l’émetteur du certificat. Les nouvelles fonctions de vérification de la chaîne de certificats sont recommandées à la place de cette fonction.

Syntaxe

BOOL CertVerifySubjectCertificateContext(
  [in]           PCCERT_CONTEXT pSubject,
  [in, optional] PCCERT_CONTEXT pIssuer,
  [in, out]      DWORD          *pdwFlags
);

Paramètres

[in] pSubject

Pointeur vers une structure de CERT_CONTEXT contenant le certificat de l’objet.

[in, optional] pIssuer

Pointeur vers un CERT_CONTEXT contenant le certificat de l’émetteur. Lorsque vous vérifiez simplement CERT_STORE_TIME_VALIDITY_FLAG, pIssuer peut avoir la valeur NULL.

[in, out] pdwFlags

Un pointeur vers une valeur DWORD contient des indicateurs de vérification case activée. Les indicateurs suivants peuvent être définis pour activer les vérifications sur le certificat sujet. Ils peuvent être combinés à l’aide d’une opération OR au niveau du bit pour activer plusieurs vérifications.

Valeur Signification
CERT_STORE_REVOCATION_FLAG
Vérifie si le certificat sujet figure dans la liste de révocation de l’émetteur.
CERT_STORE_SIGNATURE_FLAG
Utilise la clé publique dans le certificat de l’émetteur pour vérifier la signature sur le certificat sujet.
CERT_STORE_TIME_VALIDITY_FLAG
Obtient l’heure actuelle et vérifie qu’elle se trouve dans la période de validité du certificat d’objet.
 

Si une case activée de vérification activée réussit, son indicateur est défini sur zéro. En cas d’échec, son indicateur est défini au retour.

Si CERT_STORE_REVOCATION_FLAG a été activé et que l’émetteur n’a pas de liste de révocation de certificats dans le magasin, CERT_STORE_NO_CRL_FLAG est défini en plus de CERT_STORE_REVOCATION_FLAG.

Valeur retournée

Si la fonction réussit, la valeur de retour est TRUE.

Si la fonction échoue, la valeur de retour est FALSE.

En cas d’échec case activée de vérification, TRUE est toujours retourné. FALSE est retourné uniquement lorsqu’un paramètre incorrect est passé.

Pour obtenir des informations d’erreur étendues, appelez GetLastError. Un code d’erreur possible est le suivant.

Code de retour Description
E_INVALIDARG
Un bit non pris en charge a été défini dans pdwFlags. Toute combinaison de CERT_STORE_SIGNATURE_FLAG, de CERT_STORE_TIME_VALIDITY_FLAG et de CERT_STORE_REVOCATION_FLAG peut être définie. Si pIssuer a la valeur NULL, seules CERT_STORE_TIME_VALIDITY_FLAG peuvent être définies.

Remarques

La valeur hexadécimale des indicateurs peut être combinée à l’aide d’opérations or au niveau du bit pour activer plusieurs vérifications. Par exemple, pour activer à la fois la signature et la validité temporelle, la valeur

CERT_STORE_SIGNATURE_FLAG | CERT_STORE_TIME_VALIDITY_FLAG

est placé dans la valeur DWORDpdwFlags en tant que paramètre d’entrée. Si CERT_STORE_SIGNATURE_FLAG vérification réussit, mais que CERT_STORE_TIME_VALIDITY_FLAG vérification échoue, pdwFlags est défini sur CERT_STORE_TIME_VALIDITY_FLAG lorsque la fonction retourne.

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

CertGetIssuerCertificateFromStore

Fonctions de certificat