Partager via


CryptGetMessageCertificates, fonction (wincrypt.h)

La fonction CryptGetMessageCertificates retourne le handle d’un magasin de certificats ouvert contenant les certificats et les listes de révocation de certificats du message. Cette fonction appelle CertOpenStore en utilisant le type de fournisseur CERT_STORE_PROV_PKCS7 comme paramètre lpszStoreProvider .

Syntaxe

HCERTSTORE CryptGetMessageCertificates(
  [in] DWORD             dwMsgAndCertEncodingType,
  [in] HCRYPTPROV_LEGACY hCryptProv,
  [in] DWORD             dwFlags,
  [in] const BYTE        *pbSignedBlob,
  [in] DWORD             cbSignedBlob
);

Paramètres

[in] dwMsgAndCertEncodingType

Spécifie le type d’encodage utilisé. Il est toujours acceptable de spécifier les types d’encodage de certificat et de message en les combinant avec une opération OR au niveau du bit, comme illustré dans l’exemple suivant :

X509_ASN_ENCODING | PKCS_7_ASN_ENCODING

Les types d’encodage actuellement définis sont les suivants :

  • X509_ASN_ENCODING
  • PKCS_7_ASN_ENCODING

[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 csp passé à CertOpenStore. Pour plus d’informations, consultez CertOpenStore. Sauf s’il existe une raison forte de passer un fournisseur de chiffrement spécifique dans hCryptProv, transmettez zéro pour entraîner l’acquisition du fournisseur RSA ou DSS par défaut.

Le type de données de ce paramètre est HCRYPTPROV.

[in] dwFlags

Indicateurs passés à CertOpenStore. Pour plus d’informations, consultez CertOpenStore.

[in] pbSignedBlob

Pointeur vers une structure CRYPT_INTEGER_BLOB mise en mémoire tampon qui contient le message signé.

[in] cbSignedBlob

Taille, en octets, du message signé.

Valeur retournée

Retourne le magasin de certificats contenant les certificats et les listes de révocation des certificats du message. Pour une erreur, NULL est retourné.

La liste suivante répertorie le code d’erreur le plus souvent retourné par la fonction GetLastError .

Code de retour Description
E_INVALIDARG
Types d’encodage de message et de certificat non valides. Actuellement, seuls les PKCS_7_ASN_ENCODING et les X509_ASN_ENCODING sont pris en charge.
 

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

Utilisez GetLastError pour déterminer la raison des erreurs.

Exemples

Pour obtenir un exemple qui utilise cette fonction, consultez Exemple de programme C : Définition et obtention des propriétés du magasin de certificats.

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

CryptVerifyMessageSignature

Fonctions de message simplifiées