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 le API conforme à eSigner Cloud Signature Consortium (CSC) pour les opérations de signature de code d'entreprise. Trois conditions préalables doivent être remplies avant de pouvoir effectuer une signature de code basée sur eSigner sur des outils CI/CD :
- Achetez un certificat de signature de code SSL.com EV
- Enregistrez votre certificat de signature de code dans eSigner
- Téléchargez et installez eSigner CKA
Exemples de workflows de signature .vsix
Variables d'environnement- USERNAME: nom d'utilisateur du compte SSL.com. (Obligatoire)
- MOT DE PASSE: Mot de passe du compte SSL.com (Requis)
- TOTP_SECRET: Secret OAuth TOTP. Vous pouvez accéder à des informations détaillées sur Automatisez la signature de code eSigner EV – SSL.com (Obligatoire)
- MODE : "bac à sable" ou "produit" (obligatoire)
.DLL de code NET Exemples de workflows de signature
Exemple de workflow de signature de DLL de code .NET
Préparer les composants du workflow
- Créez un dossier .circleci sur votre éditeur. Incluez les flux de travail avec le dossier et créez un fichier yml en tant que config.yml sous le dossier.
- Définissez la version de CircleCI. Le champ de version est destiné à être utilisé afin d'émettre des avertissements en cas d'obsolescence ou de modifications avec rupture.
Version: 2.1
-
Les orbs sont des packages réutilisables de configuration CircleCI que vous pouvez partager entre plusieurs projets, vous permettant de créer des commandes, des tâches et des exécuteurs encapsulés et paramétrés pouvant être utilisés sur plusieurs projets. Pour utiliser l'outil signtool, cela doit être Windows.
orbes :
gagner : cercleci/windows@5.0.0
-
Invoquez des tâches via des workflows. Les workflows orchestrent un ensemble de tâches à exécuter.
flux de travail :
# Le nom du flux de travail.
signe-fichier :
# Dans le workflow, vous définissez les tâches que vous souhaitez exécuter.
emplois:
– fichier de signature
- Définissez une tâche à appeler ultérieurement dans un workflow.
emplois:
signe-fichier :
- Spécifiez l'environnement d'exécution. Nous devons utiliser l'exécuteur Windows car signtool est nécessaire.
exécuteur:
nom : win/server-2019
taille moyenne
variante : vs 2019
- Placez le répertoire de travail pour le travail
répertoire_de_travail : /home/circleci/project
- Ajouter des étapes au travail Voir : https://circleci.com/docs/2.0/configuration-reference/#steps
étapes:
- Extrayez le code source afin que le workflow puisse y accéder.
- vérifier
- Téléchargez et décompressez la configuration eSignerCKA
- Cours:
nom : Téléchargez et décompressez la configuration eSignerCKA
commande : |
Invoke-WebRequest -OutFile eSigner_CKA_1.0.3.zip "https://www.ssl.com/download/ssl-com-esigner-cka-1-0-3"
Développez-Archive -Force eSigner_CKA_1.0.3.zip
Supprimer l'élément eSigner_CKA_1.0.3.zip
Move-Item -Destination « eSigner_CKA_1.0.3.exe » -Chemin « eSigner_CKA_1.0.3SSL.COM eSigner CKA_1.0.3.exe »
- Installer eSignerCKA
- Cours:
nom : Configurer eSignerCKA en mode silencieux
commande : |
mkdir -p "/home/circleci/project/eSignerCKA"
./eSigner_CKA_1.0.3.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR=”/home/circleci/project/eSignerCKA” | Hors-Nul
- Définir les informations de compte SSLcom sur eSignerCKA
- Cours:
name : Config Account Information on eSignerCKA
commande : |
/home/circleci/project/eSignerCKA/eSignerCKATool.exe config -mode $env:MODE -user "$env:USERNAME" -pass "$env:PASSWORD" -totp "$env:TOTP_SECRET" -key "/home/circleci /project/eSignerCKA/master.key” -r
- Décharger et charger le certificat dans le magasin de certificats Windows
- Cours:
name : Charger le certificat dans le Windows Store
commande : |
/home/circleci/project/eSignerCKA/eSignerCKATool.exe décharger
/home/circleci/project/eSignerCKA/eSignerCKATool.exe charger
- Sélectionnez le certificat de signature de code et obtenez l'empreinte numérique pour la signature et l'artefact de signature avec l'outil de signature
- Cours:
nom : sélectionnez le certificat dans le Windows Store et signez le fichier d'exemple avec SignTool
commande : |
$CodeSigningCert = Get-ChildItem Cert:CurrentUserMy -CodeSigningCert | Sélectionner un objet -Premier 1
& 'C:Program Files (x86)Windows Kits10App Certification Kitsigntool.exe' sign /debug /fd sha256 /tr http://ts.ssl.com /td sha256 /sha1 « $($CodeSigningCert.Thumbprint) » « HelloWorld. dll"
Exemple de workflow de signature de DLL de code .NET
Préparer les composants du workflow
- Créez un dossier .github/workflows sur votre éditeur. Incluez les flux de travail avec le dossier et créez un fichier sign.yml sous le dossier.
- Nommez votre projet et le type de flux de travail impliqué
Nom : artefact de signe
-
Déclencher ce workflow sur un push
activé : appuyez sur
-
Créer une variable d'environnement
env :
MASTER_KEY : clé.maître
SIGNABLE_FILE_PATH : HelloWorld.dll
INSTALL_DIR : C:UtilisateursrunneradmineSignerCKA
MASTER_KEY_FILE : C:UsersrunneradmineSignerCKAmaster.key
-
Définir les jobs sur votre éditeur
emplois:
signe-fichier :
-
Exécuter le travail sur Windows Runners'exécute sur : les dernières fenêtres
-
Créez un nom. Lorsque le workflow s'exécute, c'est le nom qui est consigné.
nom : Signer le fichier DLL avec eSignerCKA
Décrire les étapes du travail de signature
-
Extrayez le code source afin que le workflow puisse y accéder.
– nom : Référentiel de paiement
utilise : actions/checkout@v3
- Téléchargez et décompressez la configuration eSignerCKA
– nom : Télécharger et décompresser la configuration eSignerCKA
exécutez : |
Invoke-WebRequest -OutFile eSigner_CKA_1.0.3.zip "https://www.ssl.com/download/ssl-com-esigner-cka-1-0-3"
Développez-Archive -Force eSigner_CKA_1.0.3.zip
Supprimer l'élément eSigner_CKA_1.0.3.zip
Move-Item -Destination « eSigner_CKA_1.0.3.exe » -Chemin « eSigner_CKA_1.0.3SSL.COM eSigner CKA_1.0.3.exe » - Installer eSignerCKA
– nom : Configurer eSignerCKA en mode silencieux
exécutez : |
Nouvel élément -ItemType Directory -Force -Path ${{ env.INSTALL_DIR }}
./eSigner_CKA_1.0.3.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR=”${{ env.INSTALL_DIR }}” | Hors-Nul
- Définir les informations de compte SSL.com sur eSignerCKA
- nom : informations de compte de configuration sur eSignerCKA
exécutez : |
${{ env.INSTALL_DIR }}/eSignerCKATool.exe config -mode "${{ secrets.MODE }}" -user "${{ secrets.USERNAME }}"
-pass "${{ secrets.PASSWORD }}" -totp "${{ secrets.TOTP_SECRET }}" -key "${{ env.MASTER_KEY_FILE }}" -r
- Décharger et charger le certificat dans le magasin de certificats Windows
– nom : charger le certificat dans le Windows Store
exécutez : |
Déchargement de ${{ env.INSTALL_DIR }}/eSignerCKATool.exe
chargement de ${{ env.INSTALL_DIR }}/eSignerCKATool.exe - Sélectionnez le certificat de signature de code et obtenez une empreinte numérique pour la signature
- nom : sélectionnez le certificat dans le Windows Store
exécutez : |
$CodeSigningCert = Get-ChildItem Cert:CurrentUserMy -CodeSigningCert | Sélectionner un objet -Premier 1
echo "THUMBPRINT=$($CodeSigningCert.Thumbprint)" >> $env:GITHUB_ENV - Artefact de signe avec signtool
– nom : signer un exemple de fichier avec SignTool
exécutez : |
& 'C:/Program Files (x86)/Windows Kits/10/bin/10.0.17763.0/x86/signtool.exe' signe /debug /fd sha256 /tr http://ts.ssl.com /td sha256 /sha1 ${{ env.THUMBPRINT }} ${{ env.SIGNABLE_FILE_PATH }}
Exemple de workflow de signature de DLL de code .NET
Définir les composants du workflow
- Ccréer un fichier yml en tant que .gitlab-ci.yml sous le dossier.
- Permet de sélectionner des coureurs dans la liste des coureurs disponibles. Un exécuteur doit avoir toutes les balises répertoriées ici pour exécuter la tâche.
.windows_runners :
tags:
– fenêtres partagées
- les fenêtres
– fenêtres-1809
- Regroupe les tâches en étapes. Tous les travaux d'une étape doivent être terminés avant l'exécution de l'étape suivante.
étapes:
- pancarte
- Vous trouverez ci-dessous la définition de votre travail pour signer le fichier. Définissez à quelle étape le travail sera exécuté.
signe-fichier :
scène : signe
- Le nom d'un ou plusieurs travaux dont héritera la configuration.
s'étend :
– .windows_runners - Écrivez le script pour signer le fichier.
script:
# Téléchargez et décompressez la configuration eSignerCKA
– powershell.exe -ExecutionPolicy Bypass -Command 'Invoke-WebRequest -OutFile eSigner_CKA_1.0.3.zip "https://www.ssl.com/download/ssl-com-esigner-cka-1-0-3"'
– powershell.exe -ExecutionPolicy Bypass -Command 'Expand-Archive -Force eSigner_CKA_1.0.3.zip'
– powershell.exe -ExecutionPolicy Bypass -Command 'Remove-Item eSigner_CKA_1.0.3.zip'
– powershell.exe -ExecutionPolicy Bypass -Command 'Move-Item -Destination « eSigner_CKA_1.0.3.exe » -Chemin « eSigner_CKA_1.0.3SSL.COM eSigner CKA_1.0.3.exe »'
# Configurer eSignerCKA en mode silencieux
– powershell.exe -ExecutionPolicy Bypass -Command './eSigner_CKA_1.0.3.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR=”C:Usersgitlab_runnerDesktopeSignerCKA”'
# Vérifier le répertoire d'installation
– powershell.exe -ExecutionPolicy Bypass -Command 'dir C:Usersgitlab_runnerDesktopeSignerCKA'
# Configurer les informations de compte sur eSignerCKA
– powershell.exe -ExecutionPolicy Bypass -Command 'C:Usersgitlab_runnerDesktopeSignerCKAeSignerCKATool.exe config -mode ${MODE}
-user "${USERNAME}" -pass "${PASSWORD}" -totp "${TOTP_SECRET}" -key "C:Usersgitlab_runnerAppDataRoamingeSignerCKAmaster.key" -r'
# Décharger le certificat dans le Windows Store
– powershell.exe -ExecutionPolicy Bypass -Command 'C:Usersgitlab_runnerDesktopeSignerCKAeSignerCKATool.exe décharger'
# Charger le certificat dans le Windows Store
– powershell.exe -ExecutionPolicy Bypass -Command 'C:Usersgitlab_runnerDesktopeSignerCKAeSignerCKATool.exe charger'
# Vérifier le répertoire de données
– powershell.exe -ExecutionPolicy Bypass -Command 'dir C:Usersgitlab_runnerAppDataRoamingeSignerCKA'
# Vérifier le répertoire des données de configuration
– powershell.exe -ExecutionPolicy Bypass -Command 'dir C:Usersgitlab_runnerAppDataRoamingeSignerCKAConfig'
# Sélectionnez le certificat dans le Windows Store
– powershell.exe -ExecutionPolicy Bypass -Command '$CodeSigningCert = Get-ChildItem Cert:CurrentUserMy -CodeSigningCert | Sélectionner-Objet -Premier 1 ; echo $CodeSigningCert.Thumbprint > .Thumbprint'
# Empreinte numérique du certificat de débogage
– powershell.exe -ExecutionPolicy Bypass -Command 'Set-Variable -Name Thumbprint -Value (Get-Content .Thumbprint); echo $Empreinte'
# Signer un exemple de fichier avec SignTool
– powershell.exe -ExecutionPolicy Bypass -Command "Set-Variable -Name Thumbprint -Value (Get-Content .Thumbprint);
'C:Program Files (x86)Windows Kits10bin10.0.17763.0x86signtool.exe sign /debug /fd sha256 /tr http://ts.ssl.com /td sha256 /sha1 $Thumbprint HelloWorld.dll'"
Exemple de workflow de signature de DLL de code .NET
Définir les composants du workflow
- Créez un fichier yml en tant que .travis.yml sous le dossier racine.
- Placez l'architecture du processeur sur laquelle exécuter le travail.
arc : amd64
- Langue par défaut pour exécuter les travaux sur Travis CI
langue: csharp
- Le système d'exploitation sur lequel exécuter la tâche
os: fenêtres
- Spécifiez l'ordre des étapes. Tous les travaux d'une étape doivent être terminés avant l'exécution de l'étape suivante.
étapes:
- pancarte
- Définir l'étape de construction
emplois:
consistent à
– scène : signe
-
Le nom du travail
nom : fichier de signature -
Le système d'exploitation sur lequel exécuter la tâche
os: fenêtres -
Langue actuelle pour exécuter des travaux sur Travis CI
langue : c -
Écrire le script Avant à exécuter avant de créer le projet
avant_script :
– powershell.exe -ExecutionPolicy Bypass -Command 'New-Item -ItemType Directory -Force -Path C:Userstravisbuildesigner-échantilloneSignerCKASSLcom'
-
Écrivez le script pour construire le projet.
script:
# Téléchargez et décompressez la configuration eSignerCKA
– powershell.exe -ExecutionPolicy Bypass -Command 'Invoke-WebRequest -OutFile eSigner_CKA_1.0.3.zip "https://www.ssl.com/download/ssl-com-esigner-cka-1-0-3"'
– powershell.exe -ExecutionPolicy Bypass -Command 'Expand-Archive -Force eSigner_CKA_1.0.3.zip'
– powershell.exe -ExecutionPolicy Bypass -Command 'Remove-Item eSigner_CKA_1.0.3.zip'
– powershell.exe -ExecutionPolicy Bypass -Command 'Move-Item -Destination « eSigner_CKA_1.0.3.exe » -Chemin « eSigner_CKA_1.0.3SSL.COM eSigner CKA_1.0.3.exe »'
# Configurer eSignerCKA en mode silencieux
– powershell.exe -ExecutionPolicy Bypass -Command './eSigner_CKA_1.0.3.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR=”C:Userstravisbuildesigner-échantilloneSignerCKASSLcom” | Hors-Nul'
# Vérifier le répertoire d'installation
– powershell.exe -ExecutionPolicy Bypass -Command 'dir C: Userstravisbuildesigner-échantilloneSignerCKASSLcom'
# Configurer les informations de compte sur eSignerCKA
– powershell.exe -ExecutionPolicy Bypass -Command 'C: Userstravisbuildesigner-échantilloneSignerCKASSLcomeSignerCKATool.exe config -mode ${MODE} -user « ${USERNAME} »
-pass "${PASSWORD}" -totp "${TOTP_SECRET}" -key "C:Userstravisbuildesigner-échantilloneSignerCKASSLcommaster.key” -r'
# Décharger le certificat dans le Windows Store
– powershell.exe -ExecutionPolicy Bypass -Command 'C: Userstravisbuildesigner-échantillonDéchargement de eSignerCKASSLcomeSignerCKATool.exe'
# Charger le certificat dans le Windows Store
– powershell.exe -ExecutionPolicy Bypass -Command 'C: Userstravisbuildesigner-échantillonChargement d'eSignerCKASSLcomeSignerCKATool.exe'
# Sélectionnez le certificat dans le Windows Store
– powershell.exe -ExecutionPolicy Bypass -Command '$CodeSigningCert = Get-ChildItem Cert:CurrentUserMy -CodeSigningCert | Sélectionner-Objet -Premier 1 ; echo $CodeSigningCert.Thumbprint > .Thumbprint'
# Empreinte numérique du certificat de débogage
– powershell.exe -ExecutionPolicy Bypass -Command 'Set-Variable -Name Thumbprint -Value (Get-Content .Thumbprint); echo $Empreinte'
# Signer un exemple de fichier avec SignTool
– powershell.exe -ExecutionPolicy Bypass -Command « Set-Variable -Name Thumbprint -Value (Get-Content .Thumbprint) ; 'C:Program Files (x86)Windows Kits10binx64signtool.exe sign /debug /fd sha256 /tr http://ts.ssl.com /td sha256 /sha1 $Thumbprint HelloWorld.dll'"
Besoin de solutions personnalisées ?
Grâce à nos connaissances spécialisées et à notre personnel d'assistance cinq étoiles, nous sommes prêts et disposés à travailler avec vous sur des solutions personnalisées ou des remises de signature de gros volumes au niveau de l'entreprise. Remplissez le formulaire ci-dessous et nous vous contacterons.