Partager via


structure CRYPT_DECRYPT_MESSAGE_PARA (wincrypt.h)

La structure CRYPT_DECRYPT_MESSAGE_PARA contient des informations pour le déchiffrement des messages.

Syntaxe

typedef struct _CRYPT_DECRYPT_MESSAGE_PARA {
  DWORD      cbSize;
  DWORD      dwMsgAndCertEncodingType;
  DWORD      cCertStore;
  HCERTSTORE *rghCertStore;
  DWORD      dwFlags;
} CRYPT_DECRYPT_MESSAGE_PARA, *PCRYPT_DECRYPT_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

cCertStore

Nombre d’éléments dans le tableau rghCertStore .

rghCertStore

Tableau de handles de magasin de certificats .

Ces handles de magasin de certificats sont utilisés pour obtenir le contexte de certificat à utiliser pour le déchiffrement d’un message. Pour plus d’informations, consultez les fonctions de déchiffrement CryptDecryptMessage et CryptDecryptAndVerifyMessageSignature. Un message chiffré peut avoir un ou plusieurs destinataires. Les destinataires sont identifiés par un identificateur de certificat unique, souvent le hachage de l’émetteur du certificat et le numéro de série. Les magasins de certificats sont recherchés pour rechercher un contexte de certificat correspondant à l’identificateur unique.

Les destinataires peuvent également être identifiés par leur KeyId. Les deux destinataires Key Agreement (Diffie-Hellman) et Key Transport (RSA) sont pris en charge.

Seuls les contextes de certificat dans le magasin avec l’une des propriétés, CERT_KEY_PROV_INFO_PROP_ID ou CERT_KEY_CONTEXT_PROP_ID suivants peuvent être utilisés. Ces propriétés spécifient l’emplacement d’une clé d’échange privée nécessaire.

dwFlags

Le CRYPT_MESSAGE_SILENT_KEYSET_FLAG peut être défini pour supprimer n’importe quelle interface utilisateur par le fournisseur de solutions cloud. Pour plus d’informations sur l’indicateur CRYPT_SILENT, consultez CryptAcquireContext.

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

CryptDecryptAndVerifyMessageSignature

CryptDecryptMessage