
Si vous développez ou distribuez des logiciels pour Windows, le fait de savoir comment signer un fichier EXE garantit que vos applications sont fiables et exemptes d’avertissements de sécurité. La signature du code vérifie l’authenticité et l’intégrité d’un exécutable, garantissant aux utilisateurs que le logiciel provient d’une source légitime et qu’il n’a pas été modifié. Sans signature numérique valide, Windows peut bloquer l’application ou afficher des alertes de sécurité, ce qui rend difficile l’obtention de la confiance de l’utilisateur.
Cet article explique comment signer un exécutable, en abordant tous les aspects, des exigences aux instructions étape par étape, en passant par la vérification et les avantages de la signature d’un fichier EXE.
À la fin de ce guide, vous saurez comment obtenir et installer un certificat de signature de code, utiliser signtool.exe de Microsoft pour signer un fichier EXE et vérifier que votre exécutable est correctement signé. Commençons.
Exigences avant de signer un EXE ou une application
Avant de signer un fichier EXE, vous devez disposer des bons outils et de la bonne configuration. La signature de code ne se limite pas à l’application d’une signature numérique. Elle nécessite un certificat valide, un stockage sécurisé des clés et un logiciel de signature approprié. Vous trouverez ci-dessous les principales exigences, étape par étape, depuis le choix du bon certificat jusqu’à la configuration du logiciel nécessaire.
1. Obtenez un certificat de signature de code
Tout d’abord, vous avez besoin d’un certificat de signature de code délivré par une autorité de certification (AC) de confiance telle que DigiCert ou Sectigo. Ce certificat vérifie votre identité en tant qu’éditeur de logiciels.
Depuis le 1er juin 2023, tous les certificats de signature de code doivent stocker la clé privée sur du matériel sécurisé. Par conséquent, vous ne pouvez pas générer ou conserver la clé privée sur votre ordinateur local. Elle doit être stockée sur un dispositif approuvé FIPS 140-2 niveau 2+, tel qu’un jeton USB SafeNet ou un module de sécurité matériel (HSM).
Le type de certificat que vous choisissez influe sur la manière dont vous gérez le stockage des clés :
- Les certificats de signature de code EV sont toujours accompagnés d’une clé USB SafeNet émise par l’autorité de certification. Ce dispositif physique contient votre clé privée et est nécessaire chaque fois que vous signez un fichier EXE.
- Les certificats de signature de code standard ne comprennent pas de clé USB. À la place, vous pouvez utiliser un service de signature basé sur le cloud (tel que KeyLocker de DigiCert) ou stocker la clé privée sur votre propre HSM si votre autorité de certification l’autorise.
2. Configurer votre environnement de signature
Une fois que vous avez votre certificat et votre dispositif de stockage sécurisé, vous avez besoin des bons outils. Le kit de développement logiciel (SDK) de Windows comprend l’utilitaire de signature nécessaire, signtool.exe, que vous utiliserez pour appliquer la signature numérique. S’il n’est pas déjà installé, vous pouvez télécharger la dernière version sur le site officiel de Microsoft.

Si vous utilisez un certificat EV Code Signing, vous devrez également installer le logiciel SafeNet Authentication Client. Celui-ci permet à votre système de communiquer avec la clé USB et de récupérer la clé privée en toute sécurité. Si vous signez avec un HSM, assurez-vous que le dispositif est correctement configuré et que votre certificat est accessible depuis votre environnement de signature.

Vous devez également disposer des droits d’administrateur sur votre ordinateur. La signature de code nécessite des autorisations élevées. Exécutez donc l’Invite de commande ou PowerShell en tant qu’administrateur avant d’exécuter toute commande de signature.
3. Pourquoi l’horodatage est important
Un élément clé du processus de signature est l’horodatage, qui garantit que votre signature numérique reste valide même après l’expiration de votre certificat. Sans horodatage, Windows considérera votre EXE signé comme non fiable une fois que le certificat aura atteint sa date d’expiration.
Lorsque vous signez votre fichier, l’outil de signature contacte un serveur d’horodatage qui enregistre la date et l’heure exactes de la signature. Cela prouve que votre fichier a été signé alors que le certificat était encore valide. La plupart des autorités de certification proposent des services d’horodatage gratuits. Si vous n’ajoutez pas d’horodatage, les utilisateurs verront des avertissements concernant une signature expirée, ce qui donnera l’impression que votre application n’est pas sûre.
4. Préparatifs finaux avant la signature
Avant de signer votre EXE, vérifiez que vos outils de signature, vos pilotes et votre périphérique de stockage sécurisé sont correctement configurés. Si vous utilisez un HSM, vérifiez que la clé est accessible et correctement configurée. Si vous utilisez une clé USB SafeNet, assurez-vous qu’elle est branchée et que le client d’authentification SafeNet est en cours d’exécution.
Une fois que tout est en place, vous êtes prêt à signer votre fichier EXE. Le processus peut sembler complexe au départ, mais en suivant ces étapes, vous vous assurez que votre logiciel est reconnu par Windows, vous évitez les avertissements de sécurité et vous rassurez les utilisateurs en leur montrant que votre application peut être installée en toute sécurité.
Guide étape par étape pour la signature d’un fichier EXE
Vous trouverez ci-dessous un guide détaillé et actualisé sur la signature d’un fichier EXE, qui doit désormais être stocké sur un module de sécurité matériel (HSM) ou un jeton USB pour une sécurité accrue.
Étape 1 : Insérez votre HSM ou votre jeton USB
Avant de pouvoir signer un EXE, vous devez connecter le jeton matériel ou le HSM qui contient votre certificat de signature de code et votre clé privée. Les autorités de certification exigent désormais que tous les certificats de signature de code soient stockés sur des dispositifs approuvés par la norme FIPS 140-2 de niveau 2, tels qu’une clé USB SafeNet ou un HSM YubiKey.
Étapes pour connecter votre jeton matériel :
- Branchez le HSM ou la clé USB sur votre machine Windows.
- Si vous y êtes invité, installez les pilotes nécessaires (la plupart des appareils s’installent automatiquement).
- Assurez-vous que le client d’authentification SafeNet ou tout autre logiciel HSM requis est installé.
Si vous utilisez un HSM basé sur le cloud (comme Azure Key Vault ou AWS CloudHSM), assurez-vous que vos informations d’identification sont correctement configurées avant de continuer.
Étape 2 : Ouvrez l’Invite de commande en tant qu’administrateur
Étant donné que la signature nécessite des autorisations système, vous devez utiliser l’Invite de commande (cmd.exe ) ou PowerShell avec des droits d’administrateur.
Marche à suivre pour ouvrir l’Invite de commande en tant qu’administrateur :
- Cliquez sur le menu Démarrer et tapez cmd.
- Cliquez avec le bouton droit de la souris sur l’Invite de commande et sélectionnez Exécuter en tant qu’administrateur.
Si vous préférez PowerShell, suivez les mêmes étapes mais tapez PowerShell à la place.
Étape 3 : Localisez SignTool
SignTool est un utilitaire Microsoft inclus dans le SDK Windows, nécessaire à la signature des exécutables.
Trouver SignTool sur votre système :
L’emplacement de SignTool dépend de la version du SDK Windows que vous avez installée. Vous pouvez le trouver dans :
C:\NProgram Files (x86)\NWindows
Kits\10\bin\10.0.22621.0\x64\signtool.exe
Remplacez 10.0.22621.0 par la version du SDK que vous avez installé si nécessaire.

Étape 4 : Signer l’EXE à l’aide de SignTool
Maintenant que tout est configuré, vous pouvez signer votre fichier EXE à l’aide de SignTool. Vous trouverez ci-dessous un exemple de la commande correcte pour signer avec un horodatage. Adaptez-vous en conséquence.
signtool sign /tr http://timestamp.digicert.com /td SHA256 /fd SHA256 /a "C:\path\to\yourfile.exe"
Explication de la commande :
- /tr http://timestamp.digicert.com – Spécifie l’URL du serveur d’horodatage RFC 3161 (à remplacer par le serveur de votre autorité de certification).
- /td SHA256 – Définit SHA-256 comme algorithme de résumé de l’horodatage.
- /fd SHA256 – Spécifie SHA-256 comme algorithme de résumé de fichier (les versions modernes de Windows l’exigent).
- /a – Sélectionne automatiquement le bon certificat de signature de code.
- “C:\path\to\yourfile.exe” – Remplacer par le chemin réel de votre fichier EXE.
Étape 5 : Saisissez le mot de passe (si nécessaire)
Si votre HSM ou votre clé USB nécessite une authentification, une fenêtre contextuelle s’affiche pour vous demander votre mot de passe ou votre code PIN.
Que faire ensuite ?
- Saisissez le mot de passe de votre token SafeNet (ou de tout autre HSM).
- Si vous avez plusieurs certificats, SignTool peut vous demander de sélectionner le bon.
Remarque: si vous utilisez un HSM basé sur le cloud, vous devrez peut-être vous authentifier via des identifiants API ou un code PIN sécurisé.
Vérifiez le fichier EXE signé
Après avoir signé votre EXE, vérifiez que la signature est correctement appliquée et qu’elle comporte un horodatage. Voici comment vous pouvez le vérifier :
1. Vérifiez les propriétés du fichier
- Localisez le fichier EXE signé sur votre ordinateur.
- Cliquez avec le bouton droit de la souris sur le fichier et sélectionnez Propriétés.
- Allez dans l’onglet Signatures numériques.
- Si la signature a réussi, vous verrez la signature listée avec un horodatage. Cliquez sur Détails pour confirmer que le message indique que cette signature numérique est correcte.
2. Utiliser Poweshell pour la vérification
Pour une vérification plus approfondie, vous pouvez utiliser Windows Powershell.
- Ouvrez PowerShell (Win + X → PowerShell).
- Exécutez la commande :
Get-AuthenticodeSignature "C:\Windows\System32\cmd.exe"
Remplacez “cmd/exe” par votre fichier exe.
Les détails de la signature s’affichent, y compris la chaîne de certificats et l’horodatage. Si la signature est invalide ou manquante, Windows le signale.
3. Test sur un autre système
Pour plus d’assurance, essayez de télécharger et d’exécuter l’EXE signé sur un autre ordinateur. Si tout est correct, Windows devrait le reconnaître comme une application fiable sans afficher d’avertissements de sécurité. En suivant ces étapes, vous pouvez vous assurer que votre fichier EXE est correctement signé et prêt à être distribué en toute sécurité.
Pourquoi signer un fichier EXE ?
La signature des applications Windows n’est pas seulement une question de sécurité, c’est aussi une question de confiance, de protection et de garantie du bon fonctionnement de votre logiciel. Voici quelques raisons de signer un fichier exécutable :
- Les utilisateurs font confiance aux logiciels signés. Lorsqu’un fichier EXE n’est pas signé, Windows émet des avertissements de sécurité et certains systèmes peuvent le bloquer complètement. Une signature vérifiée provenant d’une autorité de certification de confiance rassure les utilisateurs sur le fait que le fichier est sûr et qu’il n’a pas été altéré.
- Il empêche les modifications non autorisées. Une fois signé, un EXE agit comme un paquet scellé. Si quelqu’un tente de le modifier, que ce soit pour injecter des logiciels malveillants ou pour modifier le code, la signature est rompue et Windows marque le fichier comme non fiable.
- Il réduit les avertissements de Microsoft SmartScreen. SmartScreen est agressif avec les logiciels non signés, affichant des avertissements qui font hésiter les utilisateurs à les installer. La signature de votre EXE, en particulier à l’aide d’un certificat de signature de code Extended Validation (EV), réduit considérablement ces avertissements et facilite l’installation.
- Il est essentiel pour la distribution en entreprise. De nombreux environnements d’entreprise interdisent l’exécution de logiciels non signés sur leurs réseaux. Un fichier EXE signé est conforme aux politiques de sécurité et peut être déployé sans problème.
- L‘horodatage permet de conserver la validité de la signature. Sans horodatage, une signature devient invalide dès que le certificat expire. Avec un horodatage, la signature reste valide même après l’expiration, ce qui garantit que votre logiciel continue à fonctionner.
Signez votre EXE en toute confiance – Obtenez un certificat de signature de code
Une fois que vous savez comment signer un fichier exe et protéger votre logiciel contre les avertissements de sécurité, l’étape suivante consiste à obtenir le certificat de signature de code approprié. Que vous soyez un développeur indépendant ou une entreprise, la signature de votre fichier EXE est un gage de confiance, de fluidité des installations et de protection contre les manipulations. Sans signature valide, Windows signalera votre logiciel, ce qui compliquera son installation et son exécution par les utilisateurs.
Chez SSL Dragon, nous proposons des certificats OV et EV Code Signing des meilleurs fournisseurs tels que DigiCert, Sectigo et GoGetSSL. Vous avez besoin d’une solution simple ? Optez pour une validation individuelle ou d’organisation. Vous voulez une réputation plus solide et moins d’avertissements SmartScreen ? La validation étendue est la voie à suivre. Faites votre choix, signez vos logiciels en toute confiance et faites en sorte que les avertissements de sécurité appartiennent au passé.
Economisez 10% sur les certificats SSL en commandant aujourd’hui!
Émission rapide, cryptage puissant, confiance de 99,99 % du navigateur, assistance dédiée et garantie de remboursement de 25 jours. Code de coupon: SAVE10
