Section courante

A propos

Section administrative du site

SignTool

Outil de signature
SDK Windows 10

Syntaxe

signtool [command] [options] [file_name | ...]

Paramètres

Paramètre Description
command Ce paramètre permet d'indiquer l'une des cinq commandes (catdb, sign, remove, Timestamp ou Verify) spécifiant une opération à effectuer sur un fichier. Voici la description de chacune d'elle :
Commande Description
Catdb Cette commande permet d'ajouter ou de supprimer un fichier de catalogue à une base de données de catalogue. Les bases de données de catalogue sont utilisées pour la recherche automatique des fichiers de catalogue et sont identifiées par GUID.
remove Cette commande permet de supprimer la ou les signatures intégrées ou réduisez la taille d'un fichier signé intégré.
Sign 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.
Timestamp Cette commande permet d'indiquer un fichier d'horodatage.
Verify Cette commande permet de vérifier la signature numérique des fichiers en déterminant si le certificat de signature a été émis par une autorité de confiance, si le certificat de signature a été révoqué et, éventuellement, si le certificat de signature est valide pour une stratégie spécifique.
options Ce paramètre permet d'indiquer une option modifiant une commande. En plus des options globales /q et /v, chaque commande prend en charge un ensemble unique d'options.
Option Description
/q Cette option permet d'indiquer qu'il ne faut pas afficher aucune sortie si la commande s'exécute avec succès et affiche une sortie minimale si la commande échoue.
/v Cette option permet d'afficher une sortie détaillée, que la commande s'exécute avec succès ou échoue, et affiche des messages d'avertissement.
/debug Cette option permet d'afficher les informations de débogage.
file_name Ce paramètre permet d'indiquer un chemin d'accès à un fichier à signer.

Description

Cette commande permet de signer numériquement les fichiers, vérifie les signatures dans les fichiers et horodate les fichiers.

Valeur de retour

Le Sign Tool renvoie l'un des codes de sortie suivants lorsqu'il se termine :

Code de sortie Description
0 L'exécution a réussi.
1 L'exécution a échoué.
2 L'exécution s'est terminée avec des avertissements.

Remarques

Exemples

L'exemple suivante permet d'ajouter le fichier de catalogue MonFichierCatalog.cat au composante système et à la base de données de pilotes. L'option /u génère un nom unique si nécessaire pour empêcher le remplacement d'un fichier de catalogue existant nommé MonFichierCatalog.cat :

signtool catdb /v /u MonFichierCatalog.cat

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 :

signtool sign /f moncertificat.pfx /d "Programme d'installation" /p motdepasse /v /fd SHA256 /t "http://timestamp.sectigo.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

L'exemple suivante vérifie qu'un fichier a été signé :

signtool verify Setup.msi

on obtiendra un résultat comme ceci si le certificat à un problème :

File: Setup.msi
Index  Algorithm  Timestamp
========================================
SignTool Error: A certificate chain processed, but terminated in a root
        certificate which is not trusted by the trust provider.

Number of errors: 1

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 : Lundi, le 10 Janvier 2022