Cette page Web fournit des instructions sur l'utilisation d'un SSL.com OV or EV certificat de signature de code avec SignTool de Microsoft et SSL.com SSL Manager.
Ces instructions supposent que votre certificat de signature de code a été installé ou que vous l'avez sur un jeton matériel. Pour la signature de code basée sur le cloud à l'aide de la plate-forme eSigner, veuillez vous référer au page d'aperçu et cette guide d'inscription.
N'oubliez pas que pour les certificats de signature de code OV et EV basés sur le matériel, la clé privée n'existe que sur le token USB FIPS YubiKey qui vous a été envoyé et que le jeton doit être attaché à l'ordinateur utilisé pour signer l'application. Les utilisateurs de Windows avec des jetons YubiKey FIPS doivent également télécharger et installer le Mini pilote de carte à puce YubiKey avant d'utiliser leur jeton.
Signer un exécutable avec Yubikey
Installer Fenêtres SDK et SignTool
SignTool est inclus avec SDK Windows 10. Après l'installation, SignTool sera situé sous:
C: \ Program Files (x86) \ Windows Kits \ 10 \ bin \ \ x64 \ signtool.exe
Accéder à SignTool via Powershell ou l'invite de commande
L'accès à SignTool est la première partie des commandes à la fois dans signer votre dossier et vérifier la signature numérique. Powershell et l'invite de commande peuvent tous deux être utilisés pour accéder à SignTool.
Selon la version du système d'exploitation Windows et du SDK Windows que vous utilisez, l'accès à SignTool varie. L'une des options suivantes sera incluse dans la première partie de la commande :
- .\signtool.exe
- .\signtool
- outil de signalisation
- signtool.exe
- « C:\Program Files (x86)\Windows Kits\10\bin\10.0.26100.0\x86\signtool.exe »
N'oubliez pas que la clé privée n'existe que sur le jeton USB qui vous a été envoyé et que le jeton doit être attaché à l'ordinateur utilisé pour signer la demande.
Signez Exécutable
Vous pouvez signer un exécutable en exécutant la commande suivante dans la fenêtre Powershell.
. \ signtool.exe sign / fd sha256 / a "C: \ chemin \ vers \ MyExecutable.exe"
- Le
/fdL'option sélectionne l'algorithme de résumé à utiliser lors de la signature. Versions Windows 10 SDK, HLK, WDK et ADK 20236 et ci-dessus exigent que cette option soit définie lors de la signature. SHA256 est recommandé sur SHA1 pour la sécurité. - Le
/aL'option indique à SignTool de trouver automatiquement un certificat de signature de code approprié pour votre exécutable. - Vous serez invité à saisir le code PIN de votre clé USB. Si vous avez besoin d'aide pour trouver votre code PIN, veuillez vous référer à ce mode d'emploi.

Sélection d'un certificat de signature
Spécifiez le nom du sujet
Si vous disposez de plusieurs codes de signature de jetons USB ou de certificats installés, vous pouvez spécifier le certificat vous souhaitez utiliser en incluant son Nom du sujet via le /n option.
Vous pouvez trouver le nom du sujet de votre certificat à l'aide de l'outil de gestion des certificats de Microsoft. certmgr. Ouvrez l'outil depuis le menu Démarrer et recherchez votre certificat dans le dossier « Personnel », sous « Certificats », comme indiqué dans l'image ci-dessous. Le nom du sujet est le champ « Délivré à » dans certmgr.
Dans l'image ci-dessus, le nom du sujet du certificat est example. Vous pouvez spécifier cette valeur dans SignTool avec la commande suivante.
. \ signtool.exe sign / fd sha256 / n "exemple" "C: \ chemin \ vers \ MyExecutable.exe"
Spécifier le hachage SHA1
Si vous possédez plusieurs certificats portant le même nom de sujet, vous pouvez également utiliser le hachage SHA1 (ou « empreinte ») d'un certificat pour le sélectionner et le signer. Pour trouver cette valeur, suivez ces instructions :
Ouvrez le magasin de certificats utilisateur en tapant certmgr.msc dans la barre de recherche Windows. Une fois la fenêtre du Gestionnaire de certificats ouverte, accédez à Personnel dossier sur le panneau de gauche et sélectionnez le Certificats sous-dossier à droite pour trouver votre certificat de signature de code.
Double-cliquez sur le certificat, accédez à la DÉTAILS onglet et faites défiler vers le bas pour localiser le Empreinte. Copiez l'empreinte digitale et incluez-la dans votre commande lors de la signature du code.
![]()
. \ signtool.exe sign / fd sha256 / sha1 THUMBPRINT "C: \ chemin \ vers \ MyExecutable.exe"
Remarque : Il peut arriver que plusieurs certificats de signature de code portant le même nom apparaissent dans la boutique, car un utilisateur possède plusieurs jetons USB. En cas de doute, choisissez celui dont le numéro de série correspond à celui indiqué sur la page de détails de votre commande SSL.com. Il est probable que vous souhaitiez choisir le certificat dont la date d'expiration est la plus récente.
Pour vérifier complètement le certificat que vous devez utiliser, suivez ces instructions :
- Connectez-vous à votre compte SSL.com et cliquez sur le bouton Commandes onglet. Localisez votre commande de certificat et cliquez sur le bouton download lien pour afficher les détails de votre certificat.

- Faites défiler vers le bas et cliquez sur le CERTIFICATS D'ENTITÉ FINALE section. Sous le Certificat de signature de code sous-section, vous verrez le numéro de série de votre certificat.

- Effectuez une vérification croisée. Double-cliquez sur le certificat dans le gestionnaire de certificats de votre ordinateur. Cliquez sur Détails. Vérifiez si les numéros de série correspondent.
Utilisez un fichier PKCS # 12 / PFX
Si vous avez un certificat de signature de code et une clé privée dans un fichier PKCS # 12 (également appelé fichier PFX ou P12), vous pouvez spécifier le fichier et son mot de passe sur la ligne de commande:
. \ signtool.exe sign / fd sha256 / f "C: \ chemin \ vers \ MyCertificate.pfx" / p mot de passe "C: \ chemin \ vers \ MyExecutable.exe"
Horodater
L'horodatage de votre code lui permettra d'être approuvé après l'expiration de votre certificat de signature de code. Si vous souhaitez ajouter un horodatage dans le fichier binaire signé, vous pouvez le faire en utilisant SignTool /tr , qui doit être suivie de la définition de l'algorithme de résumé d'horodatage avec /td. La commande dans l'extrait ci-dessous inclut un horodatage de SSL.comservice d'horodatage lors de la signature d'un exécutable.
. \ signtool.exe sign / fd sha256 / tr http://ts.ssl.com / td sha256 / a "C: \ chemin \ vers \ MyExecutable.exe"
/tr option (spécifier l'URL du serveur d'horodatage RFC 3161), pas /t (URL du serveur d'horodatage), incompatible avec le serveur d'horodatage de SSL.com./td option doit suivre l' /tr option. Si l'algorithme de résumé d'horodatage est spécifié avant le serveur d'horodatage, l'algorithme SHA-1 par défaut sera utilisé. Versions Windows 10 SDK, HLK, WDK et ADK 20236 et ci-dessus nécessitent l'utilisation de /tr lors de l'horodatage. SHA256 est recommandé par rapport à SHA1 pour la sécurité.Si vous rencontrez cette erreur :
The timestamp certificate does not meet a minimum public key length requirement, vous devez contacter votre fournisseur de logiciels pour autoriser les horodatages des clés ECDSA.Si votre fournisseur de logiciels n'a aucun moyen d'autoriser l'utilisation du point de terminaison normal, vous pouvez utiliser ce point de terminaison hérité
http://ts.ssl.com/legacy pour obtenir un horodatage d'une unité d'horodatage RSA.Autres Options
Les autres options importantes de SignTool sont:
/d: Ajoutez une description du code signé. Par exemple,/d "test code"./du: Ajoutez une URL avec une description détaillée du code signé. Par exemple,/du https://your_website.tld/project/description.
Utiliser toutes les options ci-dessus (mais en omettant /a, /sha1, /f car nous spécifions le nom du sujet du certificat avec /n, notre ligne de commande ressemble à:
signtool.exe sign / n "exemple" / fd sha256 / tr http://ts.ssl.com / td sha256 / d "test code" / du https: //votre_site_web.tld/project/description "C: \ chemin \ vers \ MyExecutable.exe "
Vérifier la signature
Utilisez cette commande pour vérifier votre code signé (notez que le /pa l'option doit être présente dans la commande):
. \ signtool.exe verify / pa "C: \ chemin \ vers \ MyExecutable.exe"
Si votre fichier a été signé avec succès, vous devriez voir une sortie comme celle-ci:
Fichier: C: \ chemin \ vers \ MyExecutable.exe Horodatage de l'algorithme d'indexation ================================== ===== 0 sha256 RFC3161 Vérifié avec succès: C: \ chemin \ vers \ MyExecutable.exe
Vous pouvez également vérifier qu'un fichier a été signé en cliquant avec le bouton droit sur son icône et en sélectionnant Propriétés dans le menu, puis en sélectionnant Signatures numériques languette. Affichez les détails d'une signature en la sélectionnant et en cliquant sur le bouton DÉTAILS .
Ici, nous pouvons voir que le fichier contient une signature numérique valide, créée par SSL Corp le 28 juin 2020.
Signature d'un exécutable avec SSL Manager
Si vous préférez une approche plus graphique, vous pouvez utiliser SSL.comle logiciel interne de SSL Manager, pour signer vos fichiers. De nombreux clients préfèrent utiliser SSL Manager car il offre l'avantage supplémentaire d'avoir un accès facile à tous vos certificats dans une interface unifiée. Pour obtenir des instructions sur le téléchargement et l'installation SSL Manager, veuillez vous référer à notre guide d'installation.
Pour signer un exécutable, commencez par sélectionner Signature de code> Paquet de codes de signature et d'horodatage à partir de SSL Managermenu de.
Dans le formulaire de signature de code, vous pouvez sélectionner l'exécutable et le certificat de signature de code (à partir d'un fichier ou d'un magasin de certificats) et l'un des serveurs d'horodatage disponibles. Lorsque vous avez terminé, cliquez sur le Signez bouton pour signer votre code. Vous serez invité à saisir le code PIN de votre clé USB.
Outre la signature de code, SSL Manager offre de nombreuses fonctionnalités puissantes. Pour plus de détails, veuillez consulter SSL Managerdocumentation de, en particulier le Menu de signature de code.
Signature de code avec un token USB Thales SafeNet (Gemalto)
Cette section montre comment signer du code à l'aide du certificat de signature de code SSL.com, du jeton USB Thales SafeNet (Gemalto) et du client d'authentification Safenet.
Le token Thales SafeNet peut stocker tous types de certificats de signature de code SSL.com et leurs clés privées. Il s'agit notamment des certificats de signature de code d'identité personnelle, des certificats de signature de code de validation d'organisation et des certificats de signature de code de validation étendue.
SafeNet Authentication Client est une solution middleware qui gère le portefeuille complet d'authentificateurs basés sur des certificats SafeNet de Thales. Cela inclut les eTokens, les cartes à puce SafeNet IDPrime, SafeNet IDPrime Virtual et les combinaisons PKI/Appareils FIDO.
Pour obtenir des instructions sur la façon de modifier votre mot de passe de signature de code pour les jetons Thales SafeNet (Gemalto) ou de retrouver l'accès à un jeton verrouillé, veuillez consulter cet article SSL.com : Comment modifier le mot de passe de votre token Thales SafeNet/Gemalto
Exigences
- Kit de développement Windows installé sur votre ordinateur
- Client d'authentification SafeNet installé sur votre ordinateur. Pour obtenir des instructions, reportez-vous à ce guide SSL.com : Téléchargement du client d'authentification SafeNet pour les certificats de signature de code
- Un token Thales SafeNet contenant un certificat de signature de code préinstallé SSL.com. Le token Thales SafeNet doit être activé en suivant ces étapes :
- Localisez le numéro de série de votre token Thales. Il s'agit d'une série de lettres et de chiffres imprimés sur la surface de votre jeton.
- Connectez-vous à votre compte SSL.com.
- Cliquez sur Commandes onglet, suivi de download lien de votre commande de certificat pour afficher ses détails. Sur le jetons physiques rubrique, activez votre token Thales en plaçant son numéro de série sur le champ prévu à cet effet. Lors de l'activation de votre token Thales, le jetons physiques section affichera votre Code PIN d'activation et PIN administrateurL’ Code PIN d'activation est également connu sous le nom de Mot de passe du jeton et vous serez invité à le saisir lors de la signature de votre fichier. PIN administrateur est également connu sous le nom de PUK – ceci est nécessaire lors de la définition d'un nouveau mot de passe de jeton dans un jeton verrouillé.

Étapes pour signer du code avec un jeton Thales SafeNet
- Connectez votre Jeton Thales SafeNet sur votre ordinateur.
- Ouvrez Client d'authentification Safenet.
- Configurez la commande pour signer votre code :
signtool sign /tr http://ts.ssl.com /td sha256 /fd sha256 /a "PATH_OF_FILE_TO_BE_SIGNED"
Légende:
/fdsha256 sélectionne l'algorithme de résumé à utiliser lors de la signature.
/ tr http://ts.ssl.com spécifie l'adresse du serveur d'horodatage
/tdsha256 spécifie l'algorithme de résumé d'horodatage
/a demande à SignTool de trouver automatiquement un certificat de signature de code approprié pour votre fichier.
chemin de fichier signable: Le chemin de votre fichier doit être placé entre guillemets doubles. Prenez note d'inclure le nom de votre fichier signable dans le chemin. Exemple: /fichier de test.dll
Note: Certains utilisateurs peuvent rencontrer cette erreur avec la commande sign : « Signtool » n'est pas reconnu comme une commande interne ou externe, un programme exploitable ou un fichier batch. La solution à cette erreur est de supprimer le texte outil de signalisation à partir de la commande et remplacez-le par le chemin de signtool.exe. Le chemin doit être entouré de guillemets doubles.
"C:\Program Files (x86)\Windows Kits\10\folder\folder\x86\signtool.exe" signe /tr http://ts.ssl.com/ /td sha256 /fd sha256 /a "C:\ Utilisateurs\Admin\Documents\fichiers de test\fichier de test.dll"
- Courir Invite de commandes en tant qu'administrateur et placez la commande sign. Ensuite, appuyez sur Entrer.

- Vous verrez le message Ajout d'un magasin supplémentaire terminé. Peu après, vous serez invité à placer votre Mot de passe du jeton. Comme indiqué dans le Exigences section ci-dessus, le mot de passe du jeton est le même que celui Code PIN d'activation et cela peut être consulté via votre page de commande de certificat SSL.com. Clique le OK bouton pour finaliser la signature du code.

- Succès! Votre dossier est désormais signé. L'invite de commande vous informera de la signature réussie.

Options de signature du code
1. Spécifiez le nom du sujet du certificat
Si vous possédez plusieurs jetons ou certificats USB de signature de code, vous pouvez sélectionner le certificat spécifique à utiliser en incorporant son nom de sujet via l'option /n.
Vous pouvez afficher le nom du sujet de votre certificat en cliquant sur l'icône d'engrenage dans SafeNet Authentication Client pour permettre une vue avancée. Ensuite, cliquez sur la flèche pour Certificats d'utilisateur pour afficher tous les certificats installés dans le token. Copiez le nom du certificat que vous souhaitez utiliser.

La commande sign utilisant le /n l’option ressemble à ce qui suit. Le nom du sujet de votre certificat doit être placé entre guillemets doubles.
« CHEMIN DE SIGNTOOL.EXE » signe /tr http://ts.ssl.com/ /td sha256 /fd sha256 /n « NOM DU SUJET DU CERTIFICAT » « PATH_OF_FILE_TO_BE_SIGNED »
2. Spécifiez l'empreinte numérique du certificat
Si vous possédez plusieurs certificats portant des noms de sujet identiques, vous pouvez en distinguer et en sélectionner un à signer en utilisant son hachage SHA1, communément appelé « empreinte ». Pour ce faire, remplacez EMPREINTE dans la commande suivante avec le hachage SHA1 réel de votre certificat.
Vous pouvez afficher la valeur de l'empreinte numérique de votre certificat en cliquant sur l'icône d'engrenage dans SafeNet Authentication Client pour permettre une vue avancée. Ensuite, cliquez sur la flèche pour Certificats d'utilisateur. Double-cliquez sur le certificat que vous souhaitez utiliser. Clique le DÉTAILS languette. Enfin, faites défiler jusqu'à Empreinte champ.
![]()
Dans la commande signer, remplacez le texte EMPREINTE avec la valeur réelle de l'empreinte de votre certificat.
Signe « CHEMIN DE SIGNTOOL.EXE » /tr http://ts.ssl.com/ /td sha256 /fd sha256 /SHA1 THUMBPRINT « PATH_OF_FILE_TO_BE_SIGNED »
Vérifier la signature
Vous pouvez vérifier la signature numérique appliquée en cliquant avec le bouton droit sur le fichier signé pour voir ses propriétés.
- Cliquez sur Signatures numériques languette. Passez votre souris sur le Liste des signatures et cliquez sur le nom affiché de votre certificat pour le mettre en surbrillance. Clique le DÉTAILS case pour continuer.

- Vous pourrez voir le nom du certificat qui a été utilisé pour signer le fichier ainsi que la date et l'heure de sa signature et de son horodatage.

REMARQUEClés privées pour les certificats de signature de code SSL ne peut pas être exporté, et certificats ne peut pas être distribué sous forme de fichiers .pfx téléchargeablesLes certificats doivent être générés et stockés à l'aide d'une option sécurisée approuvée telle qu'un Jeton USB YubiKey validé FIPS 140-2, SSL Service de signature en nuage eSigner HSM cloud pris en charge.




