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

Ce guide montre comment installer eSigner CKA et l'utiliser pour la signature de code automatisée et manuelle sur SignTool. 

eSigner CKA (adaptateur de clé cloud) est une application basée sur Windows qui utilise l'interface CNG (KSP Key Service Provider) pour permettre à des outils tels que certutil.exe et signtool.exe d'utiliser l'API conforme à eSigner Cloud Signature Consortium (CSC) pour les opérations de signature de code d'entreprise. Il agit comme un jeton USB virtuel et charge les certificats de signature de code dans le magasin de certificats.

eSigner CKA offre des options flexibles pour automatiser les signatures dans les processus CI/CD qui n'existent pas avec un jeton USB physique. Pour obtenir des conseils sur l'utilisation d'eSigner CKA pour la signature automatisée de code dans les outils CI/CD, notamment CircleCI, GitHub Actions, Gitlab CI et Travis CI, veuillez visiter cette page : Comment intégrer eSigner CKA avec les outils CI/CD pour la signature de code automatisée.

REMARQUE 

Ce matériel didactique nécessite les éléments suivants : 

  1. Certificat de signature de code EV délivré. 
  2. Certificat de signature de code EV doit être actuellement inscrit sur eSigner. Si ce n'est pas le cas, veuillez vous référer à ce article-guide
  3. Une application d'authentification installée sur votre téléphone mobile comme l'application d'authentification Google.

 

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

Formuler la ligne de commande

Composants de la ligne de commande

Pour la signature de code manuelle et automatisée, vous devrez taper la ligne de commande sur votre éditeur de texte, par exemple Invite de commandes. La ligne de commande contient :

  1. L'emplacement de SignTool (outil de ligne de commande qui se charge de signer numériquement un fichier et vérifie la signature), entouré de guillemets doubles : «C:\Program Files (x86)\Windows Kits\10\bin\10.0.22000.0\x86\signtool.exe"
  2. La /fdsha256 option qui spécifie l'algorithme de hachage
  3. La / 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. La /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'empreinte réelle du certificat
  7. Le chemin du fichier qui sera signé, entouré de guillemets doubles : « SIGNABLE FILE PATH »

Dans l'ensemble, la ligne de commande devrait ressembler à ceci : 

"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"

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.

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 Professionnelles sous-dossier à droite pour localiser votre certificat EV Code Signing.

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

Signature manuelle du code

Installer eSigner CKA

Lorsque vous choisissez le mode d'installation, sélectionnez Signature manuelle du code puis cliquez sur le bouton OK.

Connectez-vous au programme eSigner CKA

Lors de l'installation d'eSigner CKA, ouvrez le programme et connectez-vous en utilisant le nom d'utilisateur et le mot de passe de votre compte SSL.com.

Une fois la connexion réussie, vous pourrez voir le nom de l'entité à laquelle le certificat de signature de code EV a été délivré, le numéro de série, la date d'expiration et le EVCS (Extended Validation Code Signing) acronyme.

Ecrire la ligne de commande dans l'éditeur de texte

Pour rappel, la ligne de commande pour la signature de code ressemble à ceci : 

"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"

En écrivant la ligne de commande sur votre éditeur de texte et en appuyant 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.

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é.

En cliquant Détails, 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

Installer eSigner CKA

Lorsque vous choisissez le mode d'installation, sélectionnez Signature de code automatisée puis cliquez sur le bouton OK.

Enregistrer le fichier de clé principale

Une note apparaîtra expliquant l'importance de sécuriser le fichier de clé principale. Veuillez le lire, puis cliquez sur le bouton OK.

Une fenêtre apparaîtra alors vous permettant de choisir où vous allez enregistrer le fichier de clé principale.

Saisissez le nom d'utilisateur et le mot de passe de votre compte SSL.com

Saisissez le nom d'utilisateur et le mot de passe de votre compte SSL.com.

Tapez votre eSigner Mot de passe à usage unique basé sur le temps (TOTP)

Placez ensuite votre mot de passe à usage unique basé sur le temps (TOTP). Vous pouvez trouver votre TOTP inclus dans les détails de la commande de certificat EV Code Signing sur votre compte SSL.com. Tapez le code PIN à 4 chiffres que vous avez précédemment défini lorsque vous avez enregistré votre commande pour eSigner, puis cliquez sur le Afficher le code QR bouton pour révéler le TOTP.

Votre TOTP sera affiché sur une case étiquetée code secret. Copiez le TOTP, collez-le sur le Secret TOTP champ de la fenêtre eSigner CKA, puis cliquez sur le OK bouton pour l'enregistrer. 

Après avoir saisi les informations d'identification de votre compte SSL.com et le TOTP, vous pourrez afficher les détails de votre certificat de signature de code EV. Si vous décidez de mettre à jour votre TOTP, collez le nouveau TOTP dans le champ attribué, puis cliquez sur Enregistré.

Ecrire la ligne de commande dans l'éditeur de texte

Pour rappel, la ligne de commande pour la signature de code ressemble à ceci : 

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"

Ouvert Invite de commandes et placer la ligne de commande. Après avoir appuyé sur Entrée, vous verrez l'avis disant 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. 

Comment tester eSigner CKA avec votre compte sandbox

Installer eSigner CKA

Choisissez si vous voulez l'installer dans Manuel or Automated mode

****Notez que si vous avez choisi un mode, vous devez réinstaller le programme avant de pouvoir le tester dans l'autre mode.*****

Ouvrez le sous-répertoire Roaming d'Appdata

 Afin de tester eSigner CKA à l'aide de votre compte sandbox SSL.com, vous devez modifier les paramètres de l'application dans le sous-répertoire Roaming du dossier AppData. Entrer %Données d'application% dans la barre de recherche Windows pour vous emmener directement au sous-répertoire itinérant d'AppData.

Ouvrir eSigner Fichier de données avec votre éditeur de texte

Ouvrez le eSignerCKA dossier, localisez le fichier designerapp.data, faites un clic droit dessus et choisissez l'option permettant de modifier le fichier à l'aide de votre éditeur de texte, dans ce cas Notepad ++

À l'ouverture de l'éditeur de texte, vous verrez les ensembles de valeurs ci-dessous.

Vous pouvez séparer les ensembles de valeurs en lignes successives afin qu'elles soient plus faciles à modifier. 

Signature de test en mode manuel

Pour tester la signature en mode manuel, les valeurs suivantes doivent être présentes :

  1. L'ID client doit être : qOUeZCCzSqgA93acB3LYq6lBNjgZdiOxQc-KayC3UMw
  2. Ajouter -essayer sur l'api_url
    Avant : "api_url":"https://cs.ssl.com/csc/v0/
    Après : "api_url":"https://cs-essayer.ssl.com/csc/v0/ »
  3. remplacer vous connecter avec bac à sable oauth sur l'auth_url
    Avant : "auth_url":"https://vous connecter.ssl.com/oauth2/token"
    Après : "auth_url":"https://bac à sable oauth.ssl.com/oauth2/token"
  4. "créd_mode": 0
  5. "master_key": null

Signature de test en mode automatisé

Pour tester la signature en mode automatisé, les valeurs suivantes doivent être présentes :

  1. L'ID client doit être : qOUeZCCzSqgA93acB3LYq6lBNjgZdiOxQc-KayC3UMw
  2. Ajouter -essayer sur l'api_url
    Avant : "api_url":"https://cs.ssl.com/csc/v0/
    Après : "api_url":"https://cs-essayer.ssl.com/csc/v0/ »
  3. remplacer vous connecter avec bac à sable oauth sur l'auth_url
    Avant : "auth_url":"https://vous connecter.ssl.com/oauth2/token"
    Après : "auth_url":"https://bac à sable oauth.ssl.com/oauth2/token"
  4. "créd_mode": 1
  5. remplacer nul sur master_key avec le chemin exact du fichier de votre clé maîtresse fichier.
    Lors de l'installation d'eSigner CKA en mode automatisé à des fins de test, vous devez fournir les identifiants de connexion de votre compte sandbox. La raison en est que dans la signature de code automatisée, les informations d'identification de connexion sont chiffrées à l'aide de la clé principale. Si vous entrez les identifiants de connexion de production lors de l'installation et que vous modifiez ultérieurement les valeurs du fichier esignerapp.data en suivant un format de test automatisé, vous ne pourrez pas effectuer de tests car le nom d'utilisateur et le mot de passe que vous avez fournis ne sont pas présents dans l'environnement de test du bac à sable.

Connectez-vous à eSigner CKA en utilisant les informations d'identification de votre compte sandbox SSL.com

Après avoir changé les valeurs sur designerapp.data, vous pouvez maintenant tester votre certificat de signature de code EV à partir de votre bac à sable en suivant les mêmes étapes décrites précédemment pour un certificat en direct.

Comment signer un fichier Hardware Lab Kit (HLK) à l'aide de eSigner CKA et HLKSigntool

Hardware Lab Kit est un outil pour tester et préparer un pilote en mode noyau à soumettre à Microsoft. Actuellement, eSigner CKA nécessite également l'installation de l'outil HLKSigntool pour être utilisé dans le logiciel HLK de Microsoft. 

eSigner CKA doit d'abord être installé et configuré (utilisateur connecté et jeu de secrets TOTP) avant d'exécuter HLKSignTool.exe. 

Étape 1. Installer et configurer eSigner CKA

Étape 2. Utilisez HLKSignTool avec la ligne de commande ci-dessous

Ligne de commande
HLKSignTool.exe certificate_serial "path_to_file"

Mise en situation :

HLKSignTool.exe 3364de1e9ed1882e963a89ff7a958e9d "A:\teet.hlkx"

Comment signer des macros VBA à l'aide d'eSigner CKA

Téléchargez et installez en utilisant ce lien Packages d'interface de sujet Microsoft Office pour les projets VBA à signature numérique en utilisant ce lien : https://www.microsoft.com/en-us/download/details.aspx?id=56617

Remarque : Certains utilisateurs peuvent rencontrer un échec de signature car VBA propose un hachage SHA1 du code à envoyer à eSigner, mais eSigner nécessite SHA256 ou supérieur. Pour résoudre cela. Microsoft recommande ce qui suit:

Vous pouvez ajouter un DWORD clé-valeur de registre V1HashAmélioré pour choisir un autre algorithme de hachage, sous HKCU\LOGICIEL\Microsoft\VBA\Sécurité avec des règles d'algorithme de valeur (1 à SHA1, 2 à SHA256, 3 à SHA384, 4 à SHA512).

Une fois installé, effectuez les étapes suivantes :

  1. Ouvrez une invite de commande administrateur et tapez ce qui suit, le chemin sera l'endroit où vous venez d'installer les fichiers :

    regsvr32.exe

    regsvr32.exe

    Pour plus d’informations sur la façon d’enregistrer les contrôles OLE, visitez Le site de Microsoft.

    En cas de succès, vous verrez un message : « DIIRegister Server in réussi."

  2. Installez ce qui suit: download.microsoft.com/download/C/6/D/C6D0FD4E-9E53-4897-9B91-836EBA2AACD3/vcredist_x86.exe
  3. Installer eSigner CKA
  4. Exécutez la commande SignTool pour signer les macros : https://www.ssl.com/how-to/automate-ev-code-signing-with-signtool-or-certutil-esigner/#components-of-the-command-line

Comment signer des fichiers .app à l'aide d'eSigner CKA

  1. Télécharger Dynamics.365.BC.55195.US.DVD.zip at https://www.microsoft.com/en-US/download/details.aspx?id=105113 
    Remarque : Si vous tentez de signer un .app fichier utilisant eSigner CKA sans installer au préalable Microsoft Dans l'application Dynamics 365 Business Central, vous obtiendrez cette erreur SignTool : Ce format de fichier ne peut pas être signé car il n'est pas reconnu.
  2. Ouvrez le Dynamics.365.BC.55195.US.DVD.zip et extrayez le contenu vers votre emplacement préféré.
  3. Ouvert setup.exe en Microsoft Dynamics 365 Business Central et cliquez sur le bouton Suivant> .
  4. Lisez les termes du contrat de licence du logiciel Microsoft, puis cliquez sur le bouton J'accepte > .
  5. Choisir Options d'installation avancées
  6. Cliquez Choisissez une option d'installation.
  7. Choisissez le Server option d'installation.
  8. Cliquez Appliquer bouton.
  9. Attendez que l'installation soit terminée. Une fois l'installation réussie, cliquez sur le Fermer .
  10. Signez votre fichier .app sur SignTool : https://www.ssl.com/how-to/automate-ev-code-signing-with-signtool-or-certutil-esigner/#components-of-the-command-line

Comment signer des fichiers vsix à l'aide d'eSigner CKA

  1. Téléchargez le SDK Dotnet Core : https://dotnet.microsoft.com/en-us/download/dotnet/7.0
  2. Installer OpenVsixSignTool
    dotnet tool install -g OpenVsixSignTool
  3. Utilisez cette commande de signe :
    OpenVsixSignTool sign --sha1 CERTIFICATE THUMBPRINT --timestamp http://ts.ssl.com -ta sha256 -fd sha256 "SIGNABLE FILE PATH"

Comment utiliser Malware Scan sur eSigner CKA

É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 Sign Tool pour signer le code avec eSigner CKA à l'aide de 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.

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.