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