Partager via


Fonction CryptMsgSignCTL (wincrypt.h)

La fonction CryptMsgSignCTL crée un message signé contenant une CTL encodée.

Syntaxe

BOOL CryptMsgSignCTL(
  [in]      DWORD                    dwMsgEncodingType,
  [in]      BYTE                     *pbCtlContent,
  [in]      DWORD                    cbCtlContent,
  [in]      PCMSG_SIGNED_ENCODE_INFO pSignInfo,
  [in]      DWORD                    dwFlags,
  [out]     BYTE                     *pbEncoded,
  [in, out] DWORD                    *pcbEncoded
);

Paramètres

[in] dwMsgEncodingType

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] pbCtlContent

Le CTL_INFO encodé qui peut être membre d’une structure de CTL_CONTEXT ou peut être créé à l’aide de la fonction CryptEncodeObject .

[in] cbCtlContent

Taille, en octets, du contenu pointé vers pbCtlContent.

[in] pSignInfo

Pointeur vers une structure CMSG_SIGNED_ENCODE_INFO contenant un tableau de structures CMSG_SIGNER_ENCODE_INFO .

Le message peut être encodé sans signataires si le membre cbSize de la structure est défini sur la taille de la structure et que tous les autres membres sont définis sur zéro.

[in] dwFlags

Si CMS_PKCS7 est défini, peut être défini sur CMSG_CMS_ENCAPSULATED_CTL_FLAG pour encoder un message SignedData V3 compatible CMS.

[out] pbEncoded

Un pointeur vers une mémoire tampon pour recevoir le message encodé.

Ce paramètre peut avoir la valeur NULL pour obtenir la taille de ces informations à des fins d’allocation de mémoire. Pour plus d’informations, consultez Récupération de données de longueur inconnue.

[in, out] pcbEncoded

Pointeur vers un DWORD spécifiant la taille, en octets, de la mémoire tampon pbEncoded . Lorsque la fonction retourne, le DWORD contient le nombre d’octets stockés ou à stocker dans la mémoire tampon.

Valeur retournée

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 zéro (FALSE). Pour obtenir des informations d’erreur étendues, appelez GetLastError. Cette fonction peut retourner des erreurs propagées à partir d’appels à CryptMsgOpenToEncode et CryptMsgUpdate.

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

CMSG_SIGNED_ENCODE_INFO

CryptMsgEncodeAndSignCTL

CryptMsgOpenToEncode

Fonctions de vérification à l’aide de listes de contrôle cloud