en English
X

Select Language

Powered by Google TranslateTranslate

We hope you will find the Google translation service helpful, but we don’t promise that Google’s translation will be accurate or complete. You should not rely on Google’s translation. English is the official language of our site.

en English
X

Select Language

Powered by Google TranslateTranslate

We hope you will find the Google translation service helpful, but we don’t promise that Google’s translation will be accurate or complete. You should not rely on Google’s translation. English is the official language of our site.

Intégration de la signature de code dans le cloud avec Travis CI

Cet article montre comment vous pouvez effectuer une signature de code automatisée sur Travis CI en intégrant eSigner CodeSignTool à votre pipeline. 

eSigner est notre plate-forme de signature de code à distance qui offre le même niveau de sécurité que les jetons USB et le HSMS en réseau, mais de manière plus efficace et intuitive.  Une partie de la boîte à outils eSigner est CodeSignTool : un utilitaire de ligne de commande sécurisé qui est idéal pour effectuer une signature de code automatisée dans divers environnements CI/CD, y compris Travis.

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.

COMMANDEZ

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

  • input_file_path: Chemin de l'objet code à signer. (Obligatoire)
  • output_dir_path: 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é.

Exemple de flux de travail de signature de code Java (Maven) JAR

Créer un projet

Sous le projet, créez un fichier pour Travis

Définir les composants du workflow

  1. Placer l'architecture CPU pour exécuter le travail sur

arc : amd64

 

  1. Langue par défaut dans laquelle exécuter les tests

langage : java

 

  1. Spécifiez le système d'exploitation sur lequel exécuter la tâche

système d'exploitation : linux

 

  1. Écrivez la distribution Ubuntu qui sera utilisée

dist : bionique

 

  1. Définissez les variables d'environnement globalement. La propriété au niveau du travail remplace les variables globales.
  • Notez que TERM=dumb n'est nécessaire que pour les instances de projet Gradle.
  • Sous ENVIRONMENT_NAME, placez "TEST" pour la signature test et "PROD" pour la signature en direct.

env :

  global:

    – PROJECT_NAME="Bonjour le monde"

    – PROJECT_VERSION=”0.0.1″

    – TERME=muet

    – ENVIRONNEMENT_NAME="TEST"

 

  1. 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:

  - construire

  - pancarte

Décrire l'étape de construction  

emplois:

  comprennent :

        – étape : construire

  1. Le nom du travail

      nom: build-maven

 

  1. La distribution Ubuntu à utiliser

      dist : bionique

  1. Utiliser la commande docker pour signer  

      services:

        - docker

 

  1. Utiliser dotnet-cli pour construire le projet

      langage : java

 

  1. Version Java pour construire le projet

      jdk:

      – oraclejdk17

 

  1. Répertoire de cache m2 afin d'accélérer

      cache:

        répertoires :

        – $MAISON/.m2

 

  1. Écrire le script Avant à exécuter avant de créer le projet

      avant_script :

        # Créer des répertoires pour les artefacts

        – mkdir -p ${TRAVIS_BUILD_DIR}/artefacts

        – mkdir -p ${TRAVIS_BUILD_DIR}/paquets

        # Définir les options de construction Maven

        – export MAVEN_CLI_OPTS=”–batch-mode –errors –fail-at-end –show-version -DinstallAtEnd=true -DdeployAtEnd=true”

 

  1. Écrivez le script pour construire le projet.
  • Dans cet exemple de workflow de signature, plusieurs types de projets ont été créés. C'est pourquoi les fichiers des différents types de projets ont été conservés en créant des sous-dossiers. Un sous-dossier nommé 'java' a été créé pour les projets Java. Dans la capture d'écran de démonstration ci-dessus, il n'était pas nécessaire de créer un sous-dossier nommé "java", il n'a donc pas été inclus dans le script.

      script:

        # Construire un projet Maven avec les options Maven

        – mvn $MAVEN_CLI_OPTS installation propre -f java/pom.xml

         # Copier les artefacts construits dans le répertoire des artefacts

        – cp java/target/${PROJECT_NAME}-${PROJECT_VERSION}.jar ${TRAVIS_BUILD_DIR}/packages/${PROJECT_NAME}.jar

     

  1. Décrivez comment spécifier une liste de fichiers et de répertoires qui doivent être attachés au travail s'il réussit.

      espaces de travail :

        créer:

          nom: maven-jar-artefacts

          chemins:

            # Enregistrer l'artefact afin d'utiliser le travail de signature

            – ${TRAVIS_BUILD_DIR}/packages/${PROJECT_NAME}.jar

Décrire l'étape du signe

 – scène : signe

  1. Écrivez le nom du travail

      nom : sign-jar-file

 

  1. Placez la distribution Ubuntu à utiliser

      dist : bionique

 

  1. Utiliser la commande Docker pour signer  

      services:

        - docker

     

  1. Définissez des variables d'environnement pour des tâches spécifiques.
  • Dans la capture d'écran ci-dessus, la commande sign a été définie directement dans le script sign et non sous les variables d'environnement. BoTH méthodes peuvent signer correctement avec TravisCI.

      env :

        COMMANDE = "signe"

 

  1. Utiliser dotnet-cli pour construire le projet

      langage : java

 

  1. Version Java pour construire le projet

      jdk:

      – oraclejdk17

 

  1. Avant le script à exécuter avant de construire le projet

      avant_script :

        # Créer des répertoires pour les artefacts

        – mkdir -p ${TRAVIS_BUILD_DIR}/artefacts

        – mkdir -p ${TRAVIS_BUILD_DIR}/paquets

     

  1. Script pour construire le projet

      script:

        # Docker Pull CodeSigner Docker Image

        – docker pull ghcr.io/bayrakmustafa/codedesigner:latest

        # Signer l'artefact avec l'image CodeSigner Docker

        – docker run -i –rm –dns 8.8.8.8 –network host –volume ${TRAVIS_BUILD_DIR}/packages:/codesign/examples

          –volume ${TRAVIS_BUILD_DIR}/artefacts :/coconception/sortie

          -e USERNAME=${USERNAME} -e PASSWORD=${PASSWORD} -e CREDENTIAL_ID=${CREDENTIAL_ID} -e TOTP_SECRET=${TOTP_SECRET}

          -e ENVIRONMENT_NAME=${ENVIRONMENT_NAME} ghcr.io/bayrakmustafa/codedesigner:latest ${COMMAND}

          -input_file_path=/codesign/examples/${PROJECT_NAME}.jar -output_dir_path=/codesign/output

 

  1. Utilisé pour spécifier une liste de fichiers et de répertoires qui doivent être attachés au travail s'il réussit.

      espaces de travail :

        utilisation:

          – maven-jar-artefacts

        créer:

          nom : fichier jar signé

          chemins:

            # Enregistrer l'artefact signé

            – ${TRAVIS_BUILD_DIR}/artefacts/${PROJECT_NAME}.jar

Définir les variables d'environnement

Allez sur Travis et cliquez sur le Paramètres bouton (dans la fenêtre de contrôle qui apparaît maintenant)

Ajouter la valeur pour chaque variable

Faites défiler jusqu'à la Variables d'environnement section et cliquez sur le bouton Ajouter pour ajouter la valeur de chaque variable

Créer un dépôt Github

Recherchez les commandes push sur Github

Écrivez les commandes push dans un terminal de votre éditeur

Attendez que le travail de construction soit terminé

Sur Travis, la tâche de build devrait démarrer automatiquement après avoir poussé le code.

Initier l'étape de signature de code

Cliquez  signer section pour CodeSignTool pour démarrer le processus de signature

Attendez que votre machine virtuelle ait fini de démarrer

Confirmer si la signature du code a réussi

Remarque : Assurez-vous de corriger les erreurs typographiques ou les sauts de ligne erronés dans le script afin que le processus de signature se déroule sans heurts.

Autres guides d'intégration de la signature à distance du service CI/CD

Pour plus d'informations sur un abonnement eSigner et des certificats de signature de code, y compris des solutions à volume élevé et personnalisées, veuillez contacter  Ou remplissez le formulaire ci-dessous.  

Abonnez-vous à la newsletter de SSL.com

Ne manquez pas les nouveaux articles et mises à jour de SSL.com