Guide d'intégration Azure DevOps Cloud Signing

Il s'agit d'un guide sur la manière dont Azure DevOps peut être intégré à eSigner CodeSignTool pour effectuer une signature de code automatisée.

CodeSignTool est un utilitaire de ligne de commande qui convient aux processus de signature de code dans le cloud et s'intègre de manière transparente à diverses plates-formes CI/CD. Il fait partie d'eSigner : notre service de signature à distance qui offre une approche efficace, sécurisée et conviviale de la signature de code.

SSL.com EV Signature du code Les certificats aident à protéger votre code contre les falsifications non autorisées et les compromis avec le plus haut niveau de validation, et sont disponibles pour aussi peu que 249 $ par année. Vous pouvez également utilisez votre certificat EV Code Signing à grande échelle dans le cloud avec eSigner.

COMMANDER MAINTENANT

Variables d'environnement

  • USERNAME: nom d'utilisateur du compte SSL.com. (Obligatoire)
  • MOT DE PASSE: Mot de passe du compte SSL.com (Requis)
  • CREDENTIAL_ID: ID d'identification pour la signature du certificat. Si credential_id est omis et que l'utilisateur n'a qu'un seul certificat de signature de code eSigner, CodeSignTool utilisera celui-ci par défaut. Si l'utilisateur possède plusieurs certificats de signature de code, ce paramètre est obligatoire. (Obligatoire)
  • TOTP_SECRET: Secret OAuth TOTP. Vous pouvez accéder à des informations détaillées sur https://www.ssl.com/how-to/automate-esigner-ev-code-signing (Obligatoire)
  • ENVIRONNEMENT_NAME : Environnement 'TEST' ou 'PROD'. (Obligatoire)

 

Contributions

  • chemin_fichier_entrée: Chemin de l'objet code à signer. (Obligatoire)
  • chemin_rép_sortie: Répertoire où le ou les objets de code signés seront écrits. Si output_path est omis, le fichier spécifié dans -file_path sera remplacé par le fichier signé.

Créer un projet sur visualstudio.com

Créez un nouveau fichier .yml sur votre éditeur de code

Définir les déclencheurs d'intégration et les variables d'environnement

Déclencheurs d'intégration continue

déclencheur:

  - aucun

 

Définit globalement les variables d'environnement. La propriété au niveau du travail remplace les variables globales

variables:

  buildConfiguration : 'Libérer'

Regrouper les travaux en étapes

Écrivez les étapes de la phase de construction. Tous les travaux d'une étape doivent être terminés avant l'exécution de l'étape suivante.

étapes:

  – étape : construire

    # Lorsque le workflow s'exécute, c'est le nom qui est enregistré

    displayName : version

    emplois:

      - travail:

        bassin:

           Exécuter la tâche sur les machines virtuelles Windows

          vmImage: 'windows-dernier'

        étapes:

           Installer Dotnet 6.0.x

        – tâche : UseDotNet@2

          displayName : 'Installer le SDK .NET Core'

          contributions:

            version : '6.0.x'

            performMultiLevelLookup : vrai

            includePreviewVersions : vrai

       

            Restaurer le projet Dotnet

        – tâche : DotNetCoreCLI@2

          displayName : Restaurer

          contributions:

            commande : 'restaurer'

 

           Construire un projet dotnet avec la configuration Release

        – tâche : DotNetCoreCLI@2

          displayName : version

          contributions:

            commande : construire

            projets : HelloWorld.csproj

            arguments : '–configuration $(buildConfiguration)'

 

           Créer des répertoires pour les artefacts signés

        – PowerShell : New-Item -ItemType Directory -Path ./artifacts

          displayName: 'Répertoires créés pour les artefacts'

 

           Créer des répertoires pour les packages signés

        – powershell : New-Item -ItemType Directory -Path ./packages

          displayName : 'Répertoires créés pour les packages'

 

           Copier l'artefact pour signer le chemin

        – powershell : Copier-Item ./bin/Release/netcoreapp3.1/HelloWorld-0.0.1.dll -Destination ./packages/HelloWorld.dll

          displayName : "Copier les artefacts construits dans le répertoire des packages"

 

           Enregistrer l'artefact afin d'utiliser la tâche de signature

        – tâche : PublishBuildArtifacts@1

          displayName : 'Enregistrer l'artefact signé pour le téléchargement'

          contributions:

            pathtoPublish : ./packages/HelloWorld.dll

            Nomartefact : HelloWorld.dll

Rédigez les étapes de l'étape Signer

– étape : Signe

    # Lorsque le workflow s'exécute, c'est le nom qui est enregistré

    displayName : signe

    emplois:

    - travail:

      bassin:

         Exécuter le travail sur les machines virtuelles Ubuntu

        vmImage : "Ubuntu-dernier"

      étapes:

         Créer des répertoires pour les artefacts signés

      – script : mkdir -p ./artefacts && mkdir -p ./packages

        displayName : "Répertoires créés pour les artefacts et les packages"

 

         Télécharger l'artefact à signer

      – tâche : DownloadPipelineArtifact@2

        contributions:

          artefact : HelloWorld.dll

          chemin de téléchargement : ./packages

 

         Installer Docker 17.09.0-ce

      – tâche : DockerInstaller@0

        displayName : programme d'installation de Docker

        contributions:

          dockerVersion : 17.09.0-ce

          Type de version : stable

 

         Docker Extraire CodeSigner Image Docker

      – script: docker pull ghcr.io/sslcom/codedesigner:latest

        displayName: 'Docker Pull CodeSigner Docker Image'

         Signer l'artefact avec l'image du docker CodeSigner

      – script : docker run -i –rm –dns 8.8.8.8 –network host –volume $PWD/packages:/codesign/examples –volume $PWD/artifacts:/codesign/output

                -e USERNAME=$(USERNAME) -e PASSWORD=$(PASSWORD) -e CREDENTIAL_ID=$(CREDENTIAL_ID) -e TOTP_SECRET=$(TOTP_SECRET)

Si le mot de passe contient des caractères spéciaux, il doit être entre guillemets.

                -e ENVIRONMENT_NAME=$(ENVIRONMENT_NAME) ghcr.io/sslcom/codedesigner:latest sign -input_file_path=/codesign/examples/HelloWorld.dll

                -output_dir_path=/codesign/output

        displayName: 'Signer l'artefact avec l'image Docker CodeSigner'

 

         Enregistrer l'artefact signé pour le téléchargement

      – tâche : PublishBuildArtifacts@1

        displayName : 'Enregistrer l'artefact signé pour le téléchargement'

        contributions:

          pathtoPublish : ./artifacts/HelloWorld.dll

          Nomartefact : HelloWorld.dll

Créer un nouveau fichier .gitignore

Tapez:

coffre

obj

.vscode

Dans la barre de message, tapez Created pipeline.yml et cliquez sur le S’ENGAGER bouton (dans la fenêtre de contrôle qui apparaît maintenant)

SSL.com EV Signature du code Les certificats aident à protéger votre code contre les falsifications non autorisées et les compromis avec le plus haut niveau de validation, et sont disponibles pour aussi peu que 249 $ par année. Vous pouvez également utilisez votre certificat EV Code Signing à grande échelle dans le cloud avec eSigner.

COMMANDER MAINTENANT

Continuez à cliquer sur le Modifications de synchronisation bouton (dans la fenêtre de contrôle qui apparaît maintenant)

Rendez-vous sur visualstudio.com et cliquez sur Repos sur le tableau de bord

Actualisez la page pour voir le fichier yml

Cliquez Pipelines sur le tableau de bord

Ensuite, cliquez sur Créer un pipeline

Cliquez sur Azure Repos Git

Sélectionnez votre fichier YAML

Cliquez Variables bouton suivi de Nouvelle variable

Placez la valeur de chaque variable d'environnement et cliquez sur le OK bouton (dans la fenêtre de contrôle qui apparaît maintenant)

Cliquez sur le signe + pour continuer à ajouter chaque variable

Après avoir placé toutes les variables, procédez à la création de votre pipeline

Exécutez votre pipeline

Cliquez Pipelines sur le tableau de bord. Cliquez sur les trois points (plus d'options) sur votre pipeline. Cliquez sur Exécuter le pipeline. Enfin, cliquez sur le Courir .

Cliquez sur Construire pour démarrer l'étape de construction

Vérifier si chaque tâche de l'étape de construction est réussie

Cliquez sur la flèche déroulante à côté de Emploi pour voir le statut de chaque tâche de build

Lancez l'étape Signer en cliquant sur Emploi

Vérifiez si chaque étape du processus de signature est réussie

Vérifiez si les étapes de construction et de signature sont réussies

Vous pouvez vous référer à SSL.com Référentiel Github qui contient les codes sources de l'image docker et décrit comment l'utiliser : https://github.com/SSLcom/ci-images 

Exemple de pipeline Azure DevOps

Découvrez l'exemple de pipeline Azure DevOps que nous avons créé sur github.com/SSLcom/codedesigner-azuredevops-sample

Autres guides d'intégration de la signature à distance

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.

Twitter
Facebook
LinkedIn
Reddit
Email

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.