Comment automatiser la signature de code EV avec SignTool.exe ou Certutil.exe à l'aide d'eSigner CKA (Cloud Key Adapter)

eSigner CKA (adaptateur de clé cloud) est une application Windows qui utilise l'interface CNG (KSP Key Service Provider) pour activer certutil.exe et signtool.exe pour effectuer des opérations de signature de code via le API eSigner CSC.

Fonctionnant comme un jeton USB virtuelIl charge en toute sécurité les certificats de signature de code dans le magasin de certificats Windows sans nécessiter de matériel physique. En tant que méthode de signature basée sur le cloud, eSigner CKA élimine les coûts, les difficultés logistiques et les risques de sécurité liés aux jetons USB, tout en offrant des capacités de signature de niveau entreprise sans la complexité des HSM en réseau. Cela en fait un solution évolutive, sécurisée et rentable pour les flux de travail modernes de signature de code.

Ce guide couvre Signature de code manuelle et automatisée sous Windows à l'aide de SignTool avec des certificats de production ou de test. Contrairement aux jetons physiques, eSigner CKA prend en charge automatisation avancée, permettant une intégration transparente avec les outils CI/CD tels que GitHub Actions, GitLab CI, CircleCI et Travis CISi vous utilisez un outil CI/CD, consultez ce guide : Comment intégrer eSigner CKA avec les outils CI/CD pour la signature de code automatisée.

Exigences

  1. Un certificat de signature de code émis par SSLcom. 
  2. Le certificat Code Signing doit être actuellement enregistré sur eSigner. Consultez ce guide : Inscrivez-vous avec eSigner pour la signature de documents et de codes à distance
  3. Installez eSigner CKA sur votre ordinateur et configurez le mode de signature (manuel ou automatisé) et le type de signature (production ou test). Reportez-vous à cet article pour obtenir des instructions d'installation : Comment installer l'adaptateur de clé cloud SSL.com eSigner (CKA).

Les utilisateurs peuvent signer du code avec la capacité de signature de code de validation étendue d'eSigner. Cliquez ci-dessous pour plus d'informations.

EN SAVOIR PLUS

Procédure facultative : utiliser l'analyse anti-programme malveillant avant signature

Malware Scan est un service essentiel de SSL.com qui garantit que les logiciels sont exempts de logiciels malveillants avant qu'ils ne soient signés avec un certificat de signature de code. En intégrant Malware Scan, les développeurs ajoutent une couche de sécurité robuste, interrompant automatiquement le processus de signature si un logiciel malveillant est détecté et alertant le développeur pour qu'il prenne les mesures nécessaires.

SSL.com se réserve le droit d'exiger une analyse des logiciels malveillants lorsqu'il existe de forts indicateurs de risque de sécurité élevé, et les clients peuvent ne pas être autorisés à se désinscrire tant que les problèmes de sécurité ne sont pas résolus.

Étapes :

  1. Connectez-vous à votre compte SSL.com. Cliquez sur l'onglet Commandes suivi du download lien de votre certificat pour afficher ses détails. Faites défiler jusqu'à SIGNATURE DES IDENTIFICATIONS section et localisez la partie indiquant vos informations d'identification de certificat eSigner. Assurez-vous que les boutons radio indiquant identifiant de signature activé et bloqueur de logiciels malveillants activé sont choisis.
  2. Installez l'adaptateur de clé cloud eSigner.
  3. Installez eSigner CodeSignTool. Cliquez sur ici pour télécharger eSigner CodeSignTool.
  4. Scannez le code sur CodeSignTool à l'aide de la commande suivante : scan_code [-hV] -input_file_path=<inputFilePath> -password=<PASSWORD> [-program_name=<programName>] -username=<USERNAME>
  5. Utilisez SignTool pour signer le code avec eSigner CKA en utilisant la commande suivante : scan_code -username=<USERNAME> -password=<PASSWORD> -credential_id=<eSigner Credential ID> -input_file_path=<inputFilePath>

Paramètres:

  • -input_file_path=<PATH>: Chemin de l'objet de code à signer.
  • -username=<USERNAME>SSL.com Nom d'utilisateur du compte
  • -password=<PASSWORD>SSL.com mot de passe du compte.
  • -program_name=<PROGRAM_NAME>: Nom du programme
  • -credential_id=<CREDENTIAL_ID>: ID d'identification pour la signature du certificat. Votre identifiant d'identification eSigner se trouve dans votre SSL.com page de commande de certificat.

Formuler la commande pour signer le code

Composants du Comand

Pour la signature de code manuelle et automatisée, la commande contient:

  1. L'emplacement de SignTool (outil de ligne de commande chargé de signer numériquement un fichier et de vérifier la signature), entre guillemets doubles. Exemple : «C:\Program Files (x86)\Windows Kits\10\bin\10.0.22000.0\x86\signtool.exe"
    Remarque : l’emplacement de SignTool dépend de la version du SDK téléchargée et de l’architecture utilisée.
  2. Le /fdsha256 option qui spécifie l'algorithme de hachage
  3. Le / tr http://ts.ssl.com option qui spécifie l'adresse du serveur d'horodatage
  4. /tdsha256 option qui spécifie l'algorithme de résumé d'horodatage
  5. Le /sha1 option qui spécifie l'empreinte que SignTool utilise pour trouver le certificat de signature de code approprié dans le magasin de clés
  6. L'actuel empreinte digitale du certificat
  7. Le chemin du fichier qui sera signé, entouré de guillemets doubles : « SIGNABLE FILE PATH »

Dans l’ensemble, la commande devrait ressembler à ce qui suit : 

"C:\Program Files (x86)\Windows Kits\10\bin\10.0.22000.0\x86\signtool.exe" signe /fd sha256 /tr http://ts.ssl.com /td sha256 /sha1 empreinte du certificat " CHEMIN DE FICHIER SIGNABLE"

À noter: 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.

Localisation de l'empreinte de votre certificat

Plus tard, après avoir installé eSigner CKA et ajouté votre certificat de signature de code EV au Magasin de certificats utilisateur, vous pourrez vérifier l'empreinte de votre certificat EV Code Signing en appuyant sur Touche Windows + R puis tapez certmgr.msc pour accéder au magasin de certificats utilisateur. Lorsque la fenêtre du gestionnaire de certificats apparaît, cliquez sur le Personnel dossier sur le panneau de gauche, puis sélectionnez le Certificats sous-dossier à droite pour localiser votre certificat EV Code Signing.

Double-cliquez sur le certificat. Sélectionnez les détails Cliquez sur l'onglet puis faites défiler vers le bas pour afficher l'empreinte numérique. Copiez l'empreinte numérique et incluez-la dans votre commande lorsque vous signez du code.

Signature manuelle du code

Installer eSigner CKA

Accéder à SignTool via la ligne de commande

Pour rappel, la commande de signature de code ressemble à ce qui suit : 

"C:\Program Files (x86)\Windows Kits\10\bin\10.0.22000.0\x86\signtool.exe" signe /fd sha256 /tr http://ts.ssl.com /td sha256 /sha1 empreinte du certificat " CHEMIN DE FICHIER SIGNABLE"

Après avoir écrit la commande et appuyé sur Entrer, vous verrez le message Terminé Ajout d'un magasin supplémentaire. Une fenêtre apparaîtra alors vous demandant de saisir le nom d'utilisateur et le mot de passe de votre compte SSL.com.

Entrez le mot de passe à usage unique (OTP) 

Un mot de passe à usage unique (OTP) pour votre certificat de signature de code EV inscrit par eSigner sera envoyé à votre application Authenticator. Une fois la saisie réussie, l'invite de commande indiquera que votre fichier a été signé avec succès.

Succès ! Votre code est maintenant signé. 

Vérifier la signature numérique sur le fichier

Après une signature de code réussie, vous pouvez maintenant vérifier les détails de la signature numérique sur le fichier. Cliquez avec le bouton droit sur le fichier signé, cliquez sur Propriétés, suivi par le Signatures numériques Languette. Ici, vous verrez le nom du signataire, l'algorithme de résumé utilisé et l'horodatage de la signature. Clique le DÉTAILS bouton pour obtenir plus d'informations sur le code signé.

Vous pourrez lire les informations indiquant Cette signature numérique est OK. Continuez à cliquer sur le Afficher le certificat .

Après avoir cliqué sur le Afficher le certificat , vous lirez des informations indiquant que le certificat numérique émis pour le fichier signé garantit qu'il provient de l'éditeur et le protège de toute altération après publication.

Signature de code automatisée

Accéder à SignTool via la commande

Pour rappel, la commande de signature de code ressemble à ce qui suit : 

C:\Program Files (x86)\Windows Kits\10\bin\10.0.22000.0\x86\signtool.exe" signe /fd sha256 /tr http://ts.ssl.com /td sha256 /sha1 empreinte du certificat "SIGNABLE CHEMIN DU FICHIER"

Ouvrez Invite de commandes et placez la commande. Après avoir appuyé sur Entrée, vous verrez l'avis indiquant Terminé Ajout d'un magasin supplémentaire.

Après quelques secondes, vous verrez l'avis Signé avec succès. Cela indique que votre fichier a été signé de manière automatisée, sans avoir besoin d'OTP supplémentaires. 

Vérifier la présence de la signature numérique sur votre dossier

Ouvrez l'emplacement du dossier de votre fichier signé. Faites un clic droit dessus puis cliquez sur Propriétés. Cliquez sur l'onglet Signatures numériques et ici vous verrez que l'algorithme de hachage sécurisé utilisé a 256 bits. Cliquez sur l'espace immédiat indiquant le nom du signataire, l'algorithme de résumé et l'horodatage. Une fois qu'il est mis en surbrillance, continuez à cliquer sur le DÉTAILS .

Une fenêtre contextuelle s'affichera alors indiquant que la signature numérique sur le fichier est valide ainsi que l'heure précise à laquelle elle a été signée. Clique le Afficher le certificat pour voir plus d'informations sur le certificat numérique EV Code Signing qui a été émis. 

Vous verrez des informations sur le certificat EV Code Signing indiquant qu'il vous valide en tant que créateur de l'exécutable et protège votre fichier contre la falsification. 

Guides de signature de code associés à l'aide d'eSigner CKA

  • Fichiers du kit de laboratoire matériel de signature (HLK) – Utilisez eSigner CKA avec HLKSigntool Tester et préparer les pilotes en mode noyau pour soumission à Microsoft. L'intégration avec la plateforme HLK de Microsoft nécessite HLKSigntool.
  • Signature des macros VBA – Apprenez à signer des macros Microsoft Visual Basic pour Applications (VBA), qui automatisent les tâches au sein des applications Office sans nécessiter de compétences en programmation.
  • Signature des fichiers .app - Signe .app fichiers permettant de définir et de référencer en toute sécurité l'identité d'une solution applicative Microsoft complète.
  • Signature des fichiers .vsix - Signe .vsix Packages d'installation pour les extensions et modules complémentaires de Visual Studio, garantissant l'intégrité et l'authenticité des composants de l'IDE.

Besoin de plus d'informations sur la signature électronique dans le cloud ? 

  1. eSigner : signature de code en tant que service
  2. Automatisation de la signature de code dans le cloud avec les services CI/CD

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.

SSL.com

Nous aimerions recevoir vos commentaires

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

Aperçu de la confidentialité
SSL.com

Ce site utilise des cookies afin que nous puissions vous offrir la meilleure expérience utilisateur possible. Les informations sur les cookies sont stockées dans votre navigateur et remplissent des fonctions telles que vous reconnaître lorsque vous revenez sur notre site Web et aider notre équipe à comprendre quelles sections du site Web vous trouvez les plus intéressantes et utiles.

Pour plus d'informations, lisez notre Cookie et déclaration de confidentialité.

3rd Party Cookies

Ce site utilise Google Analytics & compteur statistique pour collecter des informations anonymes telles que le nombre de visiteurs du site et les pages les plus consultées.

Garder ces cookies activés nous aide à améliorer notre site Web.

Afficher les détails