Partager via


structure CRYPT_VERIFY_MESSAGE_PARA (wincrypt.h)

La structure CRYPT_VERIFY_MESSAGE_PARA contient les informations nécessaires pour vérifier les messages signés.

Syntaxe

typedef struct _CRYPT_VERIFY_MESSAGE_PARA {
  DWORD                            cbSize;
  DWORD                            dwMsgAndCertEncodingType;
  HCRYPTPROV_LEGACY                hCryptProv;
  PFN_CRYPT_GET_SIGNER_CERTIFICATE pfnGetSignerCertificate;
  void                             *pvGetArg;
  PCCERT_STRONG_SIGN_PARA          pStrongSignPara;
} CRYPT_VERIFY_MESSAGE_PARA, *PCRYPT_VERIFY_MESSAGE_PARA;

Membres

cbSize

Taille de cette structure en octets.

dwMsgAndCertEncodingType

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

hCryptProv

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

Windows Server 2003 et Windows XP : Handle du fournisseur de services de chiffrement à utiliser pour vérifier un message signé. Le fournisseur de solutions cloud identifié par ce handle est utilisé pour le hachage et pour la vérification de la signature. Sauf s’il existe une raison forte d’utiliser un fournisseur de chiffrement spécifique, définissez sur zéro pour utiliser le fournisseur RSA ou DSS par défaut.

Le type de données de ce membre est HCRYPTPROV.

pfnGetSignerCertificate

Pointeur vers la fonction de rappel utilisée pour obtenir le contexte de certificat du signataire. Si la valeur est NULL, le rappel par défaut est utilisé. Le rappel par défaut tente d’obtenir le contexte de certificat du signataire à partir du magasin de certificats du message.

Une fonction de rappel défini par l’application qui obtient le certificat du signataire peut être utilisée à la place de la valeur par défaut. Il est passé l’identificateur de certificat du signataire (son émetteur et son numéro de série) et un handle au magasin de certificats de son message signé de chiffrement.

Consultez CryptGetSignerCertificateCallback pour connaître la signature et les arguments des fonctions de rappel.

pvGetArg

Argument à passer à la fonction de rappel. En règle générale, cela obtient et vérifie le certificat du signataire du message.

pStrongSignPara

Pointeur facultatif vers une structure CERT_STRONG_SIGN_PARA qui contient les paramètres utilisés pour la signature forte. Si vous définissez ce membre et que la fonction vérifie correctement la signature, la fonction case activée pour une signature forte. Si la signature n’est pas forte, l’opération échoue et définit la valeur GetLastErrorsur NTE_BAD_ALGID.

Note Vous pouvez utiliser le membre pStrongSignPara uniquement si CRYPT_VERIFY_MESSAGE_PARA_HAS_EXTRA_FIELDS est défini à l’aide de la directive #define avant d’inclure Wincrypt.h. Si CRYPT_VERIFY_MESSAGE_PARA_HAS_EXTRA_FIELDS est défini, vous devez zéro tous les champs inutilisés.
 
Windows 8 et Windows Server 2012 : la prise en charge de ce membre commence.

Remarques

Cette structure est passée aux fonctions suivantes :

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]
En-tête wincrypt.h

Voir aussi

CERT_CONTEXT

CERT_INFO

CryptDecryptAndVerifyMessageSignature

CryptVerifyDetachedMessageSignature

CryptVerifyMessageSignature