SignerSignEx2 fonction)

La fonction SignerSignEx2 signe et met en cache l’heure du fichier spécifié, en autorisant plusieurs signatures imbriquées.

Notes

Cette fonction n’a aucun fichier d’en-tête ou bibliothèque d’importation associé. Pour appeler cette fonction, vous devez créer un fichier d’en-tête défini par l’utilisateur et utiliser les fonctions LoadLibrary et GetProcAddress pour établir une liaison dynamique à Mssign32.dll.

Syntaxe

HRESULT WINAPI SignerSignEx2(
  _In_       DWORD                  dwFlags,
  _In_       SIGNER_SUBJECT_INFO    *pSubjectInfo,
  _In_       SIGNER_CERT            *pSignerCert,
  _In_       SIGNER_SIGNATURE_INFO  *pSignatureInfo,
  _In_opt_   SIGNER_PROVIDER_INFO   *pProviderInfo,
  _In_opt_   DWORD                  dwTimestampFlags,
  _In_opt_   PCSTR                  pszTimestampAlgorithmOid,
  _In_opt_   PCWSTR                 pwszHttpTimeStamp,
  _In_opt_   PCRYPT_ATTRIBUTES      psRequest,
  _In_opt_   PVOID                  pSipData,
  _Out_      SIGNER_CONTEXT         **ppSignerContext,
  _In_opt_   PCERT_STRONG_SIGN_PARA pCryptoPolicy,
  _Reserved_ PVOID                  pReserved
);

Paramètres

dwFlags [ dans]

Modifie le comportement de cette fonction.

Si le fichier à signer est un fichier exécutable portable (PE), il peut s’agir de zéro ou d’une combinaison d’une ou plusieurs des valeurs suivantes.

Valeur Signification
SPC _ _ _ _ _ Indicateur de hachages de page PE exclure
0x10
Excluez les hachages de page lors de la création de données SIP indirectes pour le fichier PE. Cet indicateur est prioritaire par rapport à l’indicateur d' _ indicateur de _ _ _ hachage _ de page PE Inc .
Si vous ne spécifiez pas l’indicateur de _ _ _ _ hachages _ de page de hachage de page PE de SPC exclure ou si l’indicateur de _ _ _ _ hachage _ de page PE Inc . est spécifié, la valeur définie avec la fonction WintrustSetDefaultIncludePEPageHashes est utilisée pour ce paramètre. La valeur par défaut de ce paramètre est d’exclure les hachages de page lors de la création de données SIP indirectes pour les fichiers PE.
Cette valeur est définie dans le fichier d’en-tête Mssip. h.
Windows Server 2003 et Windows XP : Cette valeur n’est pas prise en charge.
SPC _ _Indicateur de _ _ _ table _ addr d’importation PE Inc
Cette valeur n’est pas prise en charge.
SPC _ _Indicateur d' _ _ informations de _ DÉbogage PE de Inc
.
Cette valeur n’est pas prise en charge.
SPC _ _Indicateur de _ ressources _ PE Inc
.
Cette valeur n’est pas prise en charge.
SPC _ _ _ _ _ Identificateurs de hachage de page PE de Inc
.
Inclure les hachages de page lors de la création de données SIP indirectes pour le fichier PE.
Windows Server 2003 et Windows XP : Cette valeur n’est pas prise en charge.
Cette valeur est définie dans le fichier d’en-tête Mssip. h.
SIG _ Ajouter
0x1000
La signature sera imbriquée. Si vous définissez cet indicateur avant l’ajout d’une signature, la signature générée sera ajoutée en tant que signature externe. Si vous ne définissez pas cet indicateur, la signature générée remplace la signature externe, en supprimant toutes les signatures internes.

pSubjectInfo [ dans]

Pointeur vers une structure d' _ _ informations de sujet du signataire qui spécifie l’objet à signer.

pSignerCert [ dans]

Pointeur vers une structure de _ certificat de signataire qui spécifie le certificat à utiliser pour créer la signature numérique.

pSignatureInfo [ dans]

Pointeur vers une structure d' _ _ informations de signature de signataire qui contient des informations sur la signature numérique.

pProviderInfo [ dans, facultatif]

Pointeur vers une structure d' _ _ informations de fournisseur de signataires qui spécifie le fournisseur de services de chiffrement (CSP) et les informations de clé privée utilisés pour créer la signature numérique.

Si la valeur de ce paramètre est null, le paramètre pSignerCert doit spécifier un certificat associé à un CSP.

dwTimestampFlags [ dans, facultatif]

Indicateurs qui seront passés à SignerTimeStampEx3 si le paramètre pwszHttpTimeStamp n’a pas la valeur null. Il peut s’agir de l’une des valeurs suivantes.

Valeur Signification
AUTHENTICODE de l’horodateur du signataire _ _
Valeur par défaut. Spécifie un horodateur Authenticode.
Horodatage du _ signataire _ RFC3161
Spécifie un horodateur RFC 3161.

Ce paramètre est ignoré si le paramètre pwszHttpTimeStamp a la valeur null.

pszTimestampAlgorithmOid [ dans, facultatif]

Identificateur d’objet de l’algorithme à utiliser pour créer un horodateur RFC 3161. Ce paramètre est ignoré pour les horodatages Authenticode.

pwszHttpTimeStamp [ dans, facultatif]

URL du serveur d’horodatage.

psRequest [ dans, facultatif]

Pointeur vers un tableau de structures d' _ attributs de chiffre qui sont ajoutées à une demande de signature. Ce paramètre est ignoré si le paramètre pwszHttpTimeStamp ne contient pas de valeur valide ou a la valeur null.

pSipData [ dans, facultatif]

Valeur 32 bits qui est passée en tant que données supplémentaires aux fonctions SIP. Le format et le contenu de ce sont définis par le fournisseur SIP.

ppSignerContext [ à]

Adresse d’un pointeur vers la structure de _ contexte du signataire qui contient l' objet BLOBsigné. Lorsque vous avez terminé d’utiliser la structure du _ contexte du signataire , libérez la structure du _ contexte du signataire en appelant la fonction SignerFreeSignerContext .

pCryptoPolicy [ dans, facultatif]

S’il est présent, pointeur vers une structure de _ _ _ paragraphe de signe fort de certificat qui contient les paramètres utilisés pour vérifier les signatures fortes. Si un certificat ou sa chaîne ne réussissent pas, le fichier n’est pas modifié de quelque manière que ce soit. Si une URL est transmise pour spécifier une autorité d’horodatage (TSA), cette stratégie est également appliquée à l’horodatage.

Respecté

Réservé. Cette valeur doit être null.

Valeur de retour

Si la fonction s’exécute correctement, la fonction retourne la valeur _ OK.

Si la fonction échoue, elle retourne une valeur HRESULT qui indique l’erreur. Les codes d’erreur possibles retournés par cette fonction incluent, mais ne sont pas limités à, les éléments suivants. Pour obtenir la liste des codes d’erreur courants, consultez valeurs HRESULT communes.

Code de retour Description
E _ INVALIDARG
Si vous définissez le paramètre dwTimestampFlags sur signer _ timestamp _ AUTHENTICODE, vous ne pouvez pas définir le paramètre dwFlags sur SIG _ Append.

Spécifications

Condition requise Valeur
Client minimal pris en charge
Windows 8 [ applications de bureau uniquement]
Serveur minimal pris en charge
Windows Server 2012 [ applications de bureau uniquement]
DLL
Mssign32.dll

Voir aussi

SignerSign

SignerSignEx

SignerFreeSignerContext