Section courante

A propos

Section administrative du site

SignTool Sign

Outil de signature : Signature
SDK Windows 10

Syntaxe

signtool sign [options] [file_name | ...]

Paramètres

Paramètre Description
/a Ce paramètre permet d'indiquer la sélection automatiquement du meilleur certificat de signature. Sign Tool trouvera tous les certificats valides satisfaisant à toutes les conditions spécifiées et sélectionnera celui étant valide le plus longtemps. Si cette option n'est pas présente, Sign Tool s'attend à ne trouver qu'un seul certificat de signature valide.
/ac file Ce paramètre permet d'ajouter un certificat supplémentaire du fichier au bloc de signature.
/as Ce paramètre permet d'apposer cette signature. Si aucune signature principale n'est présente, cette signature devient la signature principale à la place.
/c CertTemplateName Ce paramètre permet d'indiquer le nom du modèle de certificat (une extension Microsoft) pour le certificat de signature.
/csp CSPName Ce paramètre permet d'indiquer le fournisseur de services cryptographiques (CSP) contenant le conteneur de clef privée.
/d Desc Ce paramètre permet d'indiquer une description du contenu signé.
/dg Path Ce paramètre permet de générer le résumé à signer et les fichiers PKCS7 non signés. Le résumé de sortie et les fichiers PKCS7 seront : Path\FileName.dig et Path\FileName.p7u. Pour générer un fichier XML supplémentaire, voir /dxml.
/di Path Ce paramètre permet de créer la signature en ingérant le résumé signé dans le fichier PKCS7 non signé. Les fichiers Digest signés et PKCS7 non signés en entrée doivent être : Path\FileName.dig.signed et Path\FileName.p7u.
/dlib DLL Ce paramètre permet d'indiquer la DLL implémentant la fonction AuthenticodeDigestSign avec laquelle signer le résumé. Cette option équivaut à utiliser SignTool séparément avec les commutateurs /dg, /ds et /di, sauf que cette option appelle les trois comme une seule opération atomique.
/dmdf Filename Ce paramètre permet d'indiquer, lorsqu'il est utilisé avec l'option /dg, de transmettre le contenu du fichier à la fonction AuthenticodeDigestSign sans modification.
/ds Ce paramètre permet de signer uniquement le résumé. Le fichier d'entrée doit être le résumé généré par l'option /dg. Le fichier de sortie sera : File.signed.
/du URL Ce paramètre permet d'indiquer une URL (Uniform Resource Locator) pour la description développée du contenu signé.
/dxml Ce paramètre permet d'indiquer, lorsqu'il est utilisé avec l'option /dg, produit un fichier XML. Le fichier de sortie sera : Path\FileName.dig.xml.
/f SignCertFile Ce paramètre permet d'indiquer le certificat de signature dans un fichier. Si le fichier est au format PFX (Personal Information Exchange) et protégé par un mot de passe, utilisez l'option /p pour spécifier le mot de passe. Si le fichier ne contient pas de clefs privées, utilisez les options /csp et /kc pour spécifier le CSP et le nom du conteneur de clef privée.
/fd alg Ce paramètre permet d'indiquer l'algorithme de résumé de fichier à utiliser pour créer des signatures de fichier. Remarque : Une erreur est générée si le commutateur /fd n'est pas fourni lors de la signature.
/fd certHash Ce paramètre permet d'indiquer la chaîne de caractères certHash sera par défaut l'algorithme utilisé sur le certificat de signature. Remarque : Une erreur est générée si le commutateur /fd n'est pas fourni lors de la signature.
/i IssuerName Ce paramètre permet d'indiquer le nom de l'émetteur du certificat de signature. Cette valeur peut être une sous-chaîne du nom complet de l'émetteur.
/kc PrivKeyContainerName Ce paramètre permet d'indiquer le nom du conteneur de clef privée.
/n SubjectName Ce paramètre permet d'indiquer le nom du sujet du certificat de signature. Cette valeur peut être une sous-chaîne du nom de sujet complet.
/nph Ce paramètre permet d'indiquer, s'il est pris en charge, de supprimer les hachages de page pour les fichiers exécutables. La valeur par défaut est déterminée par la variable d'environnement SIGNTOOL_PAGE_HASHES et par la version de wintrust.dll. Cette option est ignorée pour les fichiers non-PE.
/p Password Ce paramètre permet d'indiquer le mot de passe à utiliser lors de l'ouverture d'un fichier «.pfx». (Utilisez l'option /f pour spécifier un fichier «.pfx».)
/p7 Path Ce paramètre permet d'indiquer qu'un fichier PKCS (Public Key Cryptography Standards) #7 est produit pour chaque fichier de contenu spécifié. Les fichiers PKCS #7 sont nommés path\filename.p7.
/p7ce Value Ce paramètre permet d'indiquer les options pour le contenu PKCS #7 signé. Définissez la valeur sur "Embedded" pour intégrer le contenu signé dans le fichier PKCS #7, ou sur "DetachedSignedData" pour produire la partie de données signées d'un fichier PKCS #7 détaché. Si l'option /p7ce n'est pas utilisée, le contenu signé est intégré par défaut.
/p7co OID Ce paramètre permet d'indiquer l'identificateur d'objet (OID) identifiant le contenu PKCS #7 signé.
/ph Ce paramètre permet d'indiquer, si pris en charge, de générer des hachages de page pour les fichiers exécutables.
/r RootSubjectName Ce paramètre permet d'indiquer le nom du sujet du certificat racine auquel le certificat de signature doit être lié. Cette valeur peut être une sous-chaîne du nom de sujet complet du certificat racine.
/s StoreName Ce paramètre permet d'indiquer le magasin à ouvrir lors de la recherche du certificat. Si cette option n'est pas précisée, la boutique Mon magasin s'ouvre.
/sha1 Hash Ce paramètre permet d'indiquer le hachage SHA1 du certificat de signature. Le hachage SHA1 est généralement spécifié lorsque plusieurs certificats satisfont aux critères spécifiés par les commutateurs restants.
/sm Ce paramètre permet d'indiquer qu'un magasin de machines, au lieu d'un magasin d'utilisateurs, est utilisé.
/t URL Ce paramètre permet d'indiquer l'URL du serveur d'horodatage. Si cette option (ou /tr) n'est pas présente, le fichier signé ne sera pas horodaté. Un avertissement est généré si l'horodatage échoue. Cette option ne peut pas être utilisée avec l'option /tr.
/td alg Ce paramètre permet d'indiquer, utilisé avec l'option /tr, de demander un algorithme de résumé utilisé par le serveur d'horodatage RFC 3161. Remarque : Une erreur est générée si /td n'est pas fourni lors de l'horodatage.
/tr URL Ce paramètre permet d'indiquer l'URL du serveur d'horodatage RFC 3161. Si cette option (ou /t) n'est pas présente, le fichier signé ne sera pas horodaté. Un avertissement est généré si l'horodatage échoue. Cette option ne peut pas être utilisée avec l'option /t.
/u Usage Ce paramètre permet d'indiquer l'utilisation de clef améliorée (EKU) devant être présente dans le certificat de signature. La valeur d'utilisation peut être spécifiée par un OID ou une chaîne de caractères. L'utilisation par défaut est "Signature de code".
/uw Ce paramètre permet d'indiquer l'utilisation de "Vérification des composantes système Windows".

Description

Cette commande permet de signer numériquement les fichiers. Les signatures numériques protègent les fichiers contre la falsification et permettent aux utilisateurs de vérifier le signataire sur la base d'un certificat de signature.

Exemples

L'exemple suivante signe automatiquement un fichier en utilisant le meilleur certificat :

signtool sign /a /fd SHA256 MonFichier.exe

Si vous avez extraire une empreinte (Thumbprint) à l'aide d'une commande Get-PfxCertificate de PowerShell, vous pouvez aussi l'indiquer de la manière suivante à l'aide du paramètre /sha1 :

signtool sign /f MonCertificat.pfx /d "Description de l'application" /p motdepasse /v /sha1 07A7C8D71C77277F2AFA657DF22C07A7A774B8C7 /t "http://timestamp.sectigo.com" MonApplicationSetup.msi

L'exemple suivante signe numériquement un fichier à l'aide d'un certificat entreposé dans un fichier PFX protégé par mot de passe :

signtool sign /f MonCert.pfx /p MonMotDePasse /fd SHA256 MonFichier.exe

L'exemple suivant permet de certifier un fichier d'installation Setup.msi avec un hachage SHA256 avec SectiGo :

signtool sign /f moncertificat.pfx /d "Programme d'installation" /p motdepasse /v /fd SHA256 /t "http://timestamp.sectigo.com" Setup.msi

L'exemple suivant permet de certifier un fichier d'installation Setup.msi avec un hachage SHA256 avec DigiCert :

signtool sign /f moncertificat.pfx /d "Programme d'installation" /p motdepasse /v /fd SHA256 /t "http://timestamp.digicert.com" Setup.msi

on obtiendra un résultat ressemblant à ceci :

The following certificate was selected:
    Issued to: GLADIR
    Issued by: Sectigo Public Code Signing CA R36
    Expires:   Sat Dec 13 18:59:59 2025
    SHA1 hash: 07A7C8D71C77277F2AFA657DF22C07A7A774B8C7

Done Adding Additional Store
Successfully signed: Setup.msi

Number of files successfully Signed: 1
Number of warnings: 0
Number of errors: 0

Vous pouvez également inclure lors de la génération de votre exécutable d'installation MSI dans Visual Studio, une commande SignTool avec des paramètres personnalisés dans le champ «Post-build Event Command Line» :



Dernière mise à jour : Mardi, le 17 Janvier 2023