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.
Signature d'un exécutable avec SignTool
Installer Windows 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
Accueil Powershell
ou Powershell fenêtre de commande en recherchant «Powershell» dans le Accueil menu et en cliquant sur l'application de bureau.
Powershell est une interface de ligne de commande vers les services de base de Windows. Vous pouvez l'utiliser pour exécuter SignTool et signer votre code.
Pour EV code signature, connectez votre clé USB à votre ordinateur (si vous ne l'avez pas déjà fait). Si vous utilisez eSigner, installez Adaptateur de clé cloud eSigner
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 l'application. Cette étape doit être ignorée si vous utilisez un certificat de signature de code OV.
Signe Exécutable
Vous pouvez signer un exécutable en exécutant la commande suivante dans la fenêtre Powershell. Si vous utilisez la signature cloud eSigner avec signtool.exe, assurez-vous d'installer Signataire électronique CKA
. \ signtool.exe sign / fd sha256 / a "C: \ chemin \ vers \ MyExecutable.exe"
- Le
/fd
L'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
/a
L'option indique à SignTool de trouver automatiquement un certificat de signature de code approprié pour votre exécutable. - Si vous utilisez un certificat de signature de code EV, vous serez invité à saisir le code PIN de votre jeton USB. Si vous avez besoin d'aide pour trouver votre code PIN, veuillez consulter 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 EV CS à l'aide de l'outil de gestion des certificats de Microsoft certmgr. Ouvrez l'outil à partir du menu Démarrer et recherchez votre certificat EV CS dans le dossier «Personnel», sous «Certificats», comme indiqué dans l'image ci-dessous. Le nom du sujet est le champ «Émis à» 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 avez plusieurs certificats avec le même nom de sujet, vous pouvez également utiliser le hachage SHA1 (ou «empreinte numérique») d'un certificat pour le sélectionner pour la signature. Remplacer THUMBPRINT
dans la commande ci-dessous avec le hachage SHA1 réel de votre certificat. Vous pouvez trouver cette valeur en affichant les détails du certificat dans certmgr et en recherchant le Thumbprint
(assurez-vous de supprimer tous les espaces de l'empreinte numérique avant de l'utiliser dans votre commande).
. \ signtool.exe sign / fd sha256 / sha1 THUMBPRINT "C: \ chemin \ vers \ MyExecutable.exe"
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"
Horodatage
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), ne sauraient /t
(URL du serveur d'horodatage), incompatible avec le serveur d'horodatage de SSL.com./td
option must 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
ou /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 biens 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 Signe bouton pour signer votre code. Si vous chargez un certificat à partir d'un fichier PFX, vous devrez entrer le mot de passe du fichier. Si vous utilisez un certificat de signature de code EV, vous serez invité à saisir le code PIN de votre jeton 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.