Utilisation de votre certificat de signature de code

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.

VO et Les certificats de signature de code EV ne doivent pas être installés manuellement sur votre ordinateur, ce qui peut entraîner des problèmes de configuration. Les certificats expédiés sur YubiKeys depuis SSL.com peuvent être utilisés sans installation supplémentaire au-delà de l'installation du Mini pilote de carte à puce YubiKey et connecter le token à votre ordinateur. Certificats commandés via attestation à distance doit être téléchargé et installé sur l'appareil contenant la clé privée (par exemple YubiKey FIPS ou autre matériel pris en charge), et non sur le magasin de certificats de votre ordinateur.
Si vous prévoyez de signer des pilotes Windows 10 avec un certificat de signature de code EV, vous devrez S'inscrire avec le programme de développement de matériel Windows.
Pour obtenir des instructions sur l'utilisation de votre certificat de signature de code OV / IV ou EV avec Java, veuillez consulter notre Guide de signature de code Java.

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"
  • La /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é.
  • La /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.Entrez le code PIN
Remarque: Si vous signez des fichiers de code qui seront inclus dans un programme d'installation (tel qu'un fichier MSI Windows), vous devrez signer ces fichiers avant de créer le programme d'installation, puis signer le fichier d'installation lui-même.

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"

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"
Remarque: Assurez-vous d'utiliser SignTool /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.
Remarque: La /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é.
Remarque: Par défaut, SSL.com prend en charge les horodatages des clés ECDSA.

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, /sha1ou /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 .

Signatures numériques

Ici, nous pouvons voir que le fichier contient une signature numérique valide, créée par SSL Corp le 28 juin 2020.

Détails de la signature numérique

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 de SSL Managermenu de.

Paquet de code de signe et d'horodatage

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.

Merci d'avoir choisi SSL.com! Si vous avez des questions, veuillez nous contacter par e-mail à Support@SSL.com, appel 1-877-SSL-SECUREou cliquez simplement sur le lien de discussion en bas à droite de cette page.

Abonnez-vous à la newsletter de SSL.com

Ne manquez pas les nouveaux articles et mises à jour de SSL.com

Restez informé et en sécurité

SSL.com est un leader mondial de la cybersécurité, PKI et les certificats numériques. Inscrivez-vous pour recevoir les dernières nouvelles de l'industrie, des conseils et des annonces de produits de SSL.com.

Nous aimerions recevoir vos commentaires

Répondez à notre enquête et faites-nous part de votre avis sur votre récent achat.