Signer avec KeyLocker cloud HSM
Ce guide décrit comment signer avec un certificat Code Signing stocké dans Keylocker cloud HSM. Keylocker prend en charge toutes les plateformes et les outils de signature, comme Signtool, jarsigner etc. Ce guide peut vous aider également avec Software Trust Manager de DigiCert ONE, le principe est similaire.
Compatibilité de KeyLocker
Ce modèle est-il adapté au workflow de votre organisation ? Keylocker (et Software Trust Managet via DC1) et ses bibliothèques prennent en charge les outils de signature tiers. Pour vérifier les formats du fichier et les outils compatibles, consultez l'article de DigiCert Signing tool integration.
Un exemple pour Signtool en version 32b et 64b :
- SignTool (32-bit): .doc, .docm, .dot, .dotm, .msi, .cab, .exe, .dll, .mpp, .mpt, .pot, .potm, .ppa, .ppam, .pps, .ppsm, .ppt, .pptm, .pub, .vdw*, .vdx*, .vsd*, .vsdm, .vss*, .vssm, .vst*, .vstm, .vsx*, .vtx*, .wiz*, .xla, .xlam, .xls, .xlsb, .xlsm, .xlt, .xltm
- SignTool (64-bit): .appx, .appxbundle, .arx, .cab, .cat, .cbx, .cpl, .crx, .dbx, .deploy, .dll, .drx, .efi, .exe, .js, .msi, .msix, .msixbundle, .msm, .msp, .ocx, .psi, .psm1, .stl, .sys, .vbs, .vsix, .wsf, .xsn
Configuration du KeyLocker
Une fois connecté à KeyLocker, vous accéderez au guide de configuration, qui vous guidera pour télécharger l'application DigiCert ONE Clients. Grâce à cette application, vous pourrez vous connecter à votre compte KeyLocker ; elle installera les bibliothèques nécessaires, y compris SMCTL, et définira dans le système les variables pour l'authentification. Cette procédure a été considérablement simplifiée par rapport à la méthode précédente.
Dans la première étape du guide KeyLocker, téléchargez, installez et exécutez l'application DigiCert ONE Clients. La connexion est la même que celle que vous avez configurée pour l'interface Web de KeyLocker.
À l'étape suivante de l'application de bureau, installez SMCTL - l'outil principal pour la signature.
Après l'installation de l'outil, vous verrez un choix parmi trois options possibles pour le stockage de la variable KeyLocker dans le système. Nous vous recommandons de laisser l'option par défaut "Stocker mes identifiants". Vos données seront enregistrées dans le système et vous n'aurez pas besoin de vous reconnecter à votre compte avant chaque signature.
Choisissez l'option de sauvegarde dans le système (sous Windows). Les informations d'identification seront dans le Gestionnaire des informations d'identification (Credential Manager).
Une fois que l'application DigiCert ONE Clients aura configuré automatiquement les identifiants système, passez à la troisième étape de l'assistant. À ce stade, vous devrez exécuter la commande SMCTL healthcheck, sur votre système. Cette commande vérifiera la communication entre votre environnement local et KeyLocker, ainsi que l'authentification correcte. Ensuite, cochez l'option 'I have run the healthcheck command in SMCTL' (J'ai exécuté la commande de vérification de l'état dans SMCTL) et cliquez sur le bouton Check Status.
Vous verrez une confirmation en vert You're ready to start signing with SMCTL, ce qui signifie que tout est correctement configuré, la communication fonctionne et vous pouvez commencer à signer.
Signer des fichiers
Pour signer des fichiers, nous vous recommandons d'utiliser principalement l'utilitaire SMCTL, qui fonctionne via l'interface en ligne de commande (CLI). En alternative, vous pouvez opter pour l'outil DigiCert® Click-to-sign (voir le dernier paragraphe).
Les guides pour signer des fichiers sur les principales plateformes (telles qu'Authenticode, Docker, Java, etc.) sont disponibles directement sur l'interface web de KeyLocker. Une fois l'assistant finalisé ("Configuration terminée !"), cliquez sur l'une des plateformes proposées. L'interface vous fournira alors une commande prédéfinie utilisant le certificat sélectionné. Il suffit de copier cette commande dans votre CLI et de spécifier le fichier à signer. Rien de plus simple !
Utilisation de SMCTL pour la signature de fichiers (recommandé)
L'outil SMCTL, développé par DigiCert, facilite la signature de fichiers, même avec des logiciels tiers (nécessitant au moins signtool). SMCTL est compatible avec les outils les plus courants : Signtool, Apksigner, Jarsigner, Mage et Nuget. Vous trouverez cet outil dans le répertoire C:/Program Files/DigiCert/DigiCert Keylocker Tools/smctl.exe
Lors de la dernière étape de l'assistant, cliquez sur Authenticode et sélectionnez le certificat disponible dans KeyLocker. Une commande complète vous sera alors fournie pour effectuer la signature ; il vous suffira d'y ajouter le fichier cible et de l'exécuter localement dans votre CLI. Vous recevrez immédiatement une confirmation de la réussite de la signature du fichier.
Kompletní dokumentaci SMCTL najdete na webu DigiCertu.
Signer des fichier avec Signtool
Signtool est un outil du Windows SDK et l'outil de signature le plus utilisé sur la plateforme Windows.
Dans la commande Signtool, il est nécessaire de spécifier le fichier que vous souhaitez signer, avec quel certificat et éventuellement les paramètres associés. Pour se référer au certificat de signature, vous pouvez laisser Signtool choisir un certificat automatiquement (depuis un stockage) ou vous pouvez sélectionner le fichier contenant le certificat (bien sur, uniquement la partie publique sans clé privée) ou utiliser le hash du certificat souhaité.
Voici un exemple de signature avec un hash du certificat :
C:/>signtool.exe sign /sha1 ecb0f10ab1XXXXXXXXXX1681fb70a31e32288263 /tr http://timestamp.digicert.com /td SHA256 /fd SHA256 C:/Users/User/Documents/HelloSign.exe
Voici un exemple de signature avec KeyLocker et un fichier du certificat :
C:/Users/User>signtool.exe sign /csp "DigiCert Signing Manager KSP" /kc key_558469087 /f C:/Users/User/Documents/cert_558469087.crt /tr http://timestamp.digicert.com /td SHA256 /fd SHA256 C:/Users/User/Documents/HelloSign.exe
Done Adding Additional Store
Successfully signed: C:/Users/User/Documents/HelloSign.exe
Pour vérifier la validité de la signature, utilisez la commande : signtool verify /v file.exe Vous pouvez également utiliser Explorateur Windows et avec bouton droit de la souris, sélectionnez Propriétés de la signature.
Signer des fichiers avec Jarsigner
Jarsigner est un outil qui vous permet de signer et de vérifier les fichiers .jar. Jarsigner utilise un fichier de configuration pour s'intégrer à la bibliothèque DigiCert® KeyLocker PKCS11. Vous pouvez signer tout simplement à l'aide de SMCTL ou avec Jarsigner et la bibliothèque PKCS11.
Exemple de signature avec Jarsigner :
jarsigner -keystore NONE -storepass NONE -storetype PKCS11 -sigalg SHA256withRSA -providerClass sun.security.pkcs11.SunPKCS11 -providerArg pkcs11properties2.cfg -signedjar C:/Users/Name/Desktop/signed/signedjar.jar C:/Users/Name/Desktop/ToSign/jartosign.jar key3 -tsa "http://timestamp.digicert.com"
Pour vérifier la validité de la signature, utilisez la commande :
jarsigner -verify
Retrouvez l'ensemble de la documentation de Jarsigner sur le site web de Digicert.
Signer des fichiers avec DigiCert® Click-to-sign
DigiCert® Click-to-sign est un interface utilisateur qui ne nécessite pas l'utilisation de la ligne de commande. Cet outil permet aux clients de signer des fichiers de manière simple. Ce principe donne le même résultat comme les outils utilisant la ligne de commande, seulement ils offrent les paramètres plus détaillés. DigiCert® Click-to-sign est une solution simplifiée et suffisante pour la plupart des utilisateurs.
L'un des gros avantages de DigiCert® Click-to-sign est la configuration simple. Vous passez par l'assistant de Configuration pour configurer les paramètres des droits d'accès au KeyLocker. L'assistant va tester votre connexion au cloud, mais surtout paramétrer les variables au système ! Vous ne devez rien à configurer manuellement.
Signer avec cet outil, c'est vraiment très simple. Faites un clic droit sur le fichier à signer et sélectionnez Click to Sign. Ensuite, vous pouvez signer directement ou avec une confirmation des paramètres de signature.
Retrouvez l'ensemble de la documentation de Click-to-sign sur le site web de Digicert.
Remarque : Si Click-to-sign ne fonctionne pas : définissez l'emplacement du Click-to-sign et de l'application de signature (Signtool) dans les variables PATH. Séparez-les par les points-virgules. Par exemple :
Path: C:/Program Files/DigiCert/DigiCert Keylocker Tools;C:/Program Files (x86)/Windows Kits/10/bin/10.0.22621.0x64;
Integrations CI/CD
Le principal avantage du Keylocker est de pouvoir automatiser les signatures et d'intégrer le processus dans le workflow CI/CD. DigiCert a préparé certains scripts et plugins pour les outils et plateformes de développement les plus utilisés. Les plugins sont disponibles pour Azure DevOps, GitHub et Jenkins. Il propose encore plus de scripts d'intégration pour la bibliothèque PKCS11.
Retrouvez l'ensemble de la documentation dans l'article CI/CD integrations.
Sources et documentation :
- SignTool : https://learn.microsoft.com/fr-fr/dotnet/framework/tools/signtool-exee
- KeyLocker : https://docs.digicert.com/en/digicert-keylocker.html
Nous sommes désolés que vous n'ayez pas trouvé les informations que vous recherchiez.
Aidez-nous à améliorer cet article. Vous cherchez autre chose ? N'hésitez pas à nous écrire.