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.

Cloud Code Signing-Integration mit Travis CI

Dieser Artikel zeigt, wie Sie automatisierte Codesignaturen auf Travis CI durchführen können, indem Sie eSigner CodeSignTool in Ihre Pipeline integrieren. 

eSigner ist unsere Remote-Codesignatur-Plattform, die das gleiche Sicherheitsniveau wie USB-Token und vernetzte HSMS bietet, jedoch auf effizientere und intuitivere Weise.  Teil des eSigner-Toolkits ist CodeSignTool: ein sicheres Befehlszeilenprogramm, das sich ideal für die Durchführung automatisierter Code-Signaturen in verschiedenen CI/CD-Umgebungen, einschließlich Travis, eignet.

SSL.com EV Codesignatur Zertifikate helfen, Ihren Code vor unbefugter Manipulation und Kompromittierung mit dem höchsten Validierungsniveau zu schützen, und sind für so wenig wie erhältlich $ 249 pro Jahr. Sie können auch Verwenden Sie Ihr EV Code Signing-Zertifikat in großem Maßstab in der Cloud mit eSigner.

BESTELLEN SIE JETZT!

Umgebungsvariablen

  • USERNAME: Benutzername des SSL.com-Kontos. (Erforderlich)
  • PASSWORD: Kennwort für das SSL.com-Konto (erforderlich)
  • CREDENTIAL_ID: Anmelde-ID zum Signieren des Zertifikats. Wenn credential_id ausgelassen wird und der Benutzer nur ein eSigner-Codesignaturzertifikat hat, verwendet CodeSignTool standardmäßig dieses. Wenn der Benutzer über mehr als ein Codesignaturzertifikat verfügt, ist dieser Parameter obligatorisch. (Erforderlich)
  • TOTP_SECRET: OAuth-TOTP-Geheimnis. Detaillierte Informationen erhalten Sie unter https://www.ssl.com/how-to/automate-esigner-ev-code-signing (Pflichtfeld)
  • ENVIRONMENT_NAME : 'TEST'- oder 'PROD'-Umgebung. (Erforderlich)

Eingänge

  • input_file_path: Pfad des zu signierenden Codeobjekts. (Erforderlich)
  • output_dir_path: Verzeichnis, in das signierte Codeobjekte geschrieben werden. Wenn output_path weggelassen wird, wird die in -file_path angegebene Datei mit der signierten Datei überschrieben.

Beispiel-Workflow für Java-Code (Maven) JAR-Signierung

Erstellen Sie ein Projekt

Erstellen Sie unter dem Projekt eine Datei für Travis

Definieren Sie die Komponenten des Workflows

  1. Platzieren Sie die CPU-Architektur, auf der der Job ausgeführt werden soll

arch: amd64

 

  1. Standardsprache zum Ausführen von Tests

Sprache: Java

 

  1. Geben Sie das Betriebssystem an, auf dem der Job ausgeführt werden soll

Betriebssystem: Linux

 

  1. Schreiben Sie die zu verwendende Ubuntu-Distribution

Abstand: bionisch

 

  1. Umgebungsvariablen global definieren. Die Eigenschaft auf Jobebene überschreibt globale Variablen.
  • Beachten Sie, dass TERM=dumb nur für Gradle-Projektinstanzen benötigt wird.
  • Geben Sie unter ENVIRONMENT_NAME „TEST“ für Testsignaturen und „PROD“ für Livesignaturen ein.

Umgebung:

  weltweit:

    – PROJECT_NAME=“Hallo Welt“

    – PROJECT_VERSION=”0.0.1″

    – BEGRIFF=dumm

    – ENVIRONMENT_NAME = „TEST“

 

  1. Geben Sie die Reihenfolge der Stufen an. Alle Jobs in einer Stufe müssen abgeschlossen sein, bevor die nächste Stufe ausgeführt wird.

Stufen:

  - bauen

  - Schild

Skizzieren Sie die Bauphase  

Arbeitsplätze:

  -System umfasst:

        – Stufe: bauen

  1. Der Jobname

      Name: build-maven

 

  1. Die zu verwendende Ubuntu-Distribution

      Abstand: bionisch

  1. Verwenden Sie den Docker-Befehl zum Signieren  

      Leistungen:

        – Docker

 

  1. Verwenden Sie dotnet-cli, um das Projekt zu erstellen

      Sprache: Java

 

  1. Java-Version zum Erstellen des Projekts

      jdk:

      – oraclejdk17

 

  1. Zwischenspeichern des m2-Verzeichnisses zur Beschleunigung

      cache:

        Verzeichnisse:

        – $HOME/.m2

 

  1. Schreiben Sie das Before-Skript, das vor dem Erstellen des Projekts ausgeführt werden soll

      before_script:

        # Erstellen Sie Verzeichnisse für Artefakte

        – mkdir -p ${TRAVIS_BUILD_DIR}/artifacts

        – mkdir -p ${TRAVIS_BUILD_DIR}/Pakete

        # Maven-Build-Optionen festlegen

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

 

  1. Schreiben Sie das Skript zum Erstellen des Projekts.
  • In diesem Signierbeispiel-Workflow wurden mehrere Projekttypen erstellt. Aus diesem Grund wurden Dateien unterschiedlicher Projekttypen durch das Anlegen von Unterordnern gehalten. Für Java-Projekte wurde ein Unterordner mit dem Namen „java“ erstellt. Im obigen Demo-Screenshot war es nicht erforderlich, einen Unterordner mit dem Namen „java“ zu erstellen, sodass dieser nicht im Skript enthalten war.

      Skript:

        # Erstellen Sie ein Maven-Projekt mit Maven-Optionen

        – mvn $MAVEN_CLI_OPTS clean install -f java/pom.xml

         # Erstellte Artefakte in das Artefaktverzeichnis kopieren

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

     

  1. Skizzieren Sie, wie Sie eine Liste von Dateien und Verzeichnissen angeben, die an den Job angehängt werden sollen, wenn er erfolgreich ist.

      Arbeitsbereiche:

        schaffen:

          Name: Maven-jar-Artefakte

          Wege:

            # Speichern Sie das Artefakt, um den Signaturjob zu verwenden

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

Skizzieren Sie die Zeichenphase

 – Stufe: Zeichen

  1. Schreiben Sie den Jobnamen

      name: sign-jar-datei

 

  1. Platzieren Sie die zu verwendende Ubuntu-Distribution

      Abstand: bionisch

 

  1. Verwenden Sie den Docker-Befehl zum Signieren  

      Leistungen:

        – Docker

     

  1. Definieren Sie Umgebungsvariablen für bestimmte Jobs.
  • Im obigen Screenshot wurde der Sign-Befehl direkt im Sign-Skript und nicht unter Umgebungsvariablen definiert. Both Methoden können mit TravisCI korrekt signieren.

      Umgebung:

        BEFEHL = "Zeichen"

 

  1. Verwenden Sie dotnet-cli, um das Projekt zu erstellen

      Sprache: Java

 

  1. Java-Version zum Erstellen des Projekts

      jdk:

      – oraclejdk17

 

  1. Before-Skript, das vor dem Erstellen des Projekts ausgeführt werden soll

      before_script:

        # Erstellen Sie Verzeichnisse für Artefakte

        – mkdir -p ${TRAVIS_BUILD_DIR}/artifacts

        – mkdir -p ${TRAVIS_BUILD_DIR}/Pakete

     

  1. Skript zum Erstellen des Projekts

      Skript:

        # Docker-Pull-CodeSigner-Docker-Image

        – Docker-Pull ghcr.io/bayrakmustafa/codesigner:latest

        # Artefakt mit CodeSigner Docker-Image signieren

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

          –Volume ${TRAVIS_BUILD_DIR}/artifacts:/codesign/output

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

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

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

 

  1. Wird verwendet, um eine Liste von Dateien und Verzeichnissen anzugeben, die an den Job angehängt werden sollen, wenn er erfolgreich ist.

      Arbeitsbereiche:

        benutzen:

          – Maven-jar-Artefakte

        schaffen:

          name: signierte-jar-datei

          Wege:

            # Signiertes Artefakt speichern

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

Definieren Sie die Umgebungsvariablen

Gehen Sie zu Travis und klicken Sie auf die Einstellungen  Taste im nun erscheinenden Bestätigungsfenster nun wieder los.

Fügen Sie den Wert für jede Variable hinzu

Scrollen Sie nach unten zum Umgebungsvariablen Abschnitt und klicken Sie auf die Schaltfläche Hinzufügen, um den Wert für jede Variable hinzuzufügen

Erstellen Sie ein Github-Repository

Suchen Sie nach den Push-Befehlen auf Github

Schreiben Sie die Push-Befehle an einem Terminal auf Ihrem Editor

Warten Sie, bis der Build-Job abgeschlossen ist

Auf Travis sollte der Build-Job automatisch starten, nachdem Sie den Code gepusht haben.

Initiieren Sie die Code Signing-Phase

Klicken Sie auf die Schild Abschnitt für CodeSignTool um den Signiervorgang zu starten

Warten Sie, bis Ihre virtuelle Maschine vollständig gebootet ist

Bestätigen Sie, ob die Codesignatur erfolgreich war

Hinweis: Achten Sie darauf, Tippfehler oder fehlerhafte Zeilenumbrüche im Skript zu korrigieren, damit der Signiervorgang reibungslos abläuft.

Andere CI/CD-Service-Remote-Signatur-Integrationsleitfäden

Wenden Sie sich für Informationen zu einem eSigner-Abonnement und Codesignaturzertifikaten, einschließlich hochvolumiger und kundenspezifischer Lösungen, bitte an  oder füllen Sie das untenstehende Formular aus.  

Abonnieren Sie den Newsletter von SSL.com

Verpassen Sie keine neuen Artikel und Updates von SSL.com