Fonction CryptVerifyCertificateSignature (wincrypt.h)

La fonction CryptVerifyCertificateSignature vérifie la signature d’un certificat, d’une liste de révocation de certificats (CRL) ou d’une demande de certificat à l’aide de la clé publique dans une structure de CERT_PUBLIC_KEY_INFO . La fonction ne nécessite pas d’accès à une clé privée.

Syntaxe

BOOL CryptVerifyCertificateSignature(
  [in] HCRYPTPROV_LEGACY     hCryptProv,
  [in] DWORD                 dwCertEncodingType,
  [in] const BYTE            *pbEncoded,
  [in] DWORD                 cbEncoded,
  [in] PCERT_PUBLIC_KEY_INFO pPublicKey
);

Paramètres

[in] hCryptProv

Ce paramètre n’est pas utilisé et doit être défini sur NULL.

Windows Server 2003 et Windows XP : Handle du fournisseur de services de chiffrement (CSP) utilisé pour vérifier la signature. Le type de données de ce paramètre est HCRYPTPROV.

Null est passé, sauf s’il existe une raison forte de passer dans un fournisseur de chiffrement spécifique. La transmission de null entraîne l’acquisition du fournisseur RSA ou DSS par défaut.

[in] dwCertEncodingType

Type d’encodage de certificat utilisé pour chiffrer l’objet. L’identificateur de type d’encodage de message, contenu dans le mot élevé de cette valeur, est ignoré par cette fonction.

Ce paramètre peut être le type d’encodage de certificat défini ci-dessous.

Valeur Signification
X509_ASN_ENCODING
1 (0x1)
Spécifie l’encodage de certificat X.509 .

[in] pbEncoded

Pointeur vers un objet BLOB encodé de CERT_SIGNED_CONTENT_INFO contenu sur lequel la signature doit être vérifiée.

[in] cbEncoded

Taille, en octets, du contenu encodé dans pbEncoded.

[in] pPublicKey

Pointeur vers une structure de CERT_PUBLIC_KEY_INFO qui contient la clé publique à utiliser lors de la vérification de la signature.

Valeur retournée

Retourne une valeur différente de zéro en cas de réussite ou de zéro dans le cas contraire.

Pour obtenir des informations d’erreur étendues, appelez GetLastError.

Note Les erreurs des fonctions appelées CryptCreateHash, CryptImportKey, CryptVerifySignature et CryptHashData peuvent être propagées à cette fonction.
 
En cas d’échec, cette fonction entraîne le retour des codes d’erreur suivants à partir de GetLastError.
Code de retour Description
ERROR_FILE_NOT_FOUND
Type d’encodage de certificat non valide. Actuellement , seule X509_ASN_ENCODING est prise en charge.
NTE_BAD_ALGID
L’identificateur d’objet (OID) de l’algorithme de signature ne correspond pas à un algorithme de hachage connu ou pris en charge.
NTE_BAD_SIGNATURE
La signature n’était pas valide.
 

Si la fonction échoue, GetLastError peut renvoyer une erreur d’encodage/décodage ASN.1 ( Abstract Syntax Notation One ). Pour plus d’informations sur ces erreurs, consultez Valeurs de retour d’encodage/décodage ASN.1.

Remarques

Cette fonction appelle actuellement la fonction CryptVerifyCertificateSignatureEx pour effectuer la vérification.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête wincrypt.h
Bibliothèque Crypt32.lib
DLL Crypt32.dll

Voir aussi

CryptVerifyCertificateSignatureEx