eSigner CKA (adaptateur de clé cloud) est une application 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 eSigner CSC pour les opérations de signature. Il agit comme un jeton USB virtuel et charge les certificats de signature de code dans le magasin de certificats. Cette fonctionnalité permet de rendre votre certificat eSigner plus flexible avec des options permettant d'automatiser les signatures dans les processus CI/CD qui n'existent pas avec un jeton USB physique.
Ce guide montre comment effectuer une signature de code manuelle et automatisée sur Windows SignTool à l'aide d'un certificat de production ou d'un certificat de test.
Remarque : eSigner CKA permet 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 consulter cette page : Comment intégrer eSigner CKA avec les outils CI/CD pour la signature de code automatisée.
Exigences
- Un certificat de signature de code émis par SSLcom.
- 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
- 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).
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.
Étapes :
- 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.
- Installez l'adaptateur de clé cloud eSigner.
- Installez eSigner CodeSignTool. Cliquez sur ici pour télécharger eSigner CodeSignTool.
- 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>
- 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:
- 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. - Le /fdsha256 option qui spécifie l'algorithme de hachage
- Le / tr http://ts.ssl.com option qui spécifie l'adresse du serveur d'horodatage
- /tdsha256 option qui spécifie l'algorithme de résumé d'horodatage
- 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
- L'actuel empreinte digitale du certificat
- 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".
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 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 Plus de 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"
Ouvert 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 Plus de 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
- Comment signer un fichier Hardware Lab Kit (HLK) à l'aide de eSigner CKA et HLKSigntool. Le kit de laboratoire matériel (HLK) est utilisé pour tester et préparer les pilotes en mode noyau à soumettre à Microsoft. Pour l'intégration avec la plateforme HLK de Microsoft, eSigner CKA exige également l'installation de HLKSigntool.
- Comment signer des macros VBA à l'aide d'eSigner CKA. Microsoft Visual Basic pour Applications (VBA) permet aux personnes sans expertise en programmation d’enregistrer, de créer et de modifier des macros qui automatisent les tâches répétitives dans les applications Office.
- Comment signer des fichiers .app à l'aide d'eSigner CKA. Le fichier Microsoft_Application.app contient de manière exhaustive toutes les extensions qui constituent une solution, offrant une méthode efficace pour définir et référencer l'identité de cette solution.
- Comment signer des fichiers vsix à l'aide d'eSigner CKA. A
.vsix
Le fichier est un package d'installation pour les extensions et les modules complémentaires pour Visual Studio, l'environnement de développement intégré (IDE) de Microsoft.