Partager via


CryptMsgCountersignEncoded, fonction (wincrypt.h)

La fonction CryptMsgCountersignEncoded contresigne une signature de message PKCS #7 existante. La mémoire tampon pbCountersignatureBYTE qu’elle crée est un message signé signé PKCS #7 qui peut être utilisé comme un message de contre-signature non authentifié d’un message signé-data ou signé-et-enveloppe-data.

Syntaxe

BOOL CryptMsgCountersignEncoded(
  [in]      DWORD                    dwEncodingType,
  [in]      PBYTE                    pbSignerInfo,
  [in]      DWORD                    cbSignerInfo,
  [in]      DWORD                    cCountersigners,
  [in]      PCMSG_SIGNER_ENCODE_INFO rgCountersigners,
  [out]     PBYTE                    pbCountersignature,
  [in, out] PDWORD                   pcbCountersignature
);

Paramètres

[in] dwEncodingType

Spécifie le type d’encodage utilisé. Actuellement, seules les X509_ASN_ENCODING et les PKCS_7_ASN_ENCODING sont utilisées ; toutefois, des types d’encodage supplémentaires peuvent être ajoutés à l’avenir. Pour l’un ou l’autre type d’encodage actuel, utilisez :

X509_ASN_ENCODING | PKCS_7_ASN_ENCODING.

[in] pbSignerInfo

Pointeur vers le signerInfo encodé qui doit être contre-signé.

[in] cbSignerInfo

Compter, en octets, des données SignerInfo encodées.

[in] cCountersigners

Nombre de contre-signateurs dans le tableau rgCountersigners.

[in] rgCountersigners

Tableau de structures CMSG_SIGNER_ENCODE_INFO des contre-signateurs.

[out] pbCountersignature

Pointeur vers une mémoire tampon pour recevoir un attribut PKCS #9 codé #9 contre-signature.

Lors de l’entrée, ce paramètre peut être NULL pour définir la taille de ces informations à des fins d’allocation de mémoire. Pour plus d’informations, consultez Récupération des données de longueur inconnue.

[in, out] pcbCountersignature

Pointeur vers une variable qui spécifie la taille, en octets, de la mémoire tampon pointée par le paramètre pbCountersignature. Lorsque la fonction est retournée, la variable pointée par le paramètre ccpCountersignature contient le nombre d’octets stockés dans la mémoire tampon.

Valeur de retour

Si la fonction réussit, la valeur de retour est différente de zéro (TRUE).

Si la fonction échoue, la valeur de retour est égale à zéro (FALSE). Pour obtenir des informations d’erreur étendues, appelez GetLastError.

Le tableau suivant répertorie les codes d’erreur les plus couramment retournés par la fonction GetLastError.

Retourner le code Description
CRYPT_E_OID_FORMAT
L’identificateur d’objet est mal mis en forme.
E_INVALIDARG
Un ou plusieurs arguments ne sont pas valides.
E_OUTOFMEMORY
Mémoire insuffisante.
 

Les erreurs propagées peuvent être retournées à partir de l’une des fonctions suivantes :

Si la fonction échoue, GetLastError peut renvoyer une erreur d’encodage/décodage (ASN.1) de syntaxe abstraite. Pour plus d’informations sur ces erreurs, consultez valeurs de retour d’encodage/décodage ASN.1.

Exigences

Exigence Valeur
client minimum pris en charge Windows XP [applications de bureau | Applications UWP]
serveur minimum pris en charge Windows Server 2003 [applications de bureau | Applications UWP]
plateforme cible Windows
d’en-tête wincrypt.h
bibliothèque Crypt32.lib
DLL Crypt32.dll

Voir aussi

CryptMsgCountersign

CryptMsgVerifyCountersignatureEncoded

fonctions de message de bas niveau

fonctions de message simplifiées