Cloud Code Signing integráció a Travis CI-vel

Ez a cikk bemutatja, hogyan hajthat végre automatikus kódaláírást a Travis CI-n az eSigner CodeSignTool integrálásával a folyamatba. 

Az eSigner a távoli kódaláíró platformunk, amely ugyanolyan szintű biztonságot nyújt, mint az USB tokenek és a hálózati HSMS, de hatékonyabb és intuitívabb módon.  Az eSigner eszközkészlet része a CodeSignTool: egy biztonságos parancssori segédprogram, amely ideális vállalati kódaláírás végrehajtására különféle CI/CD környezetekben, beleértve a Travist is.
SSL.com-k EV Kód aláírás A tanúsítványok a legmagasabb szintű érvényesítés mellett segítenek megvédeni a kódot az illetéktelen manipulációtól és a kompromittálódástól, és mindössze $ 249 évente. Akkor is használja az EV Code Signing tanúsítványát a méretarányosan a felhőben az eSigner segítségével.

RENDELD MEG MOST

Környezeti változók

  • USERNAME: SSL.com-fiók felhasználóneve. (Kívánt)
  • JELSZÓ: SSL.com fiók jelszava (kötelező)
  • CREDENTIAL_ID: Hitelesítési adat azonosító a tanúsítvány aláírásához. Ha a credential_id kimarad, és a felhasználónak csak egy eSigner kód aláíró tanúsítványa van, a CodeSignTool alapértelmezés szerint ezt fogja használni. Ha a felhasználónak egynél több kódaláíró tanúsítványa van, akkor ez a paraméter kötelező. (Kívánt)
  • TOTP_SECRET: OAuth TOTP titkos. Részletes információkat a címen érhet el https://www.ssl.com/how-to/automate-esigner-ev-code-signing (Kötelező)
  • ENVIRONMENT_NAME : 'TESZT' vagy 'PROD' környezet. (Kívánt)

Bemenetek

  • bemeneti_fájl_útvonala: Az aláírandó kódobjektum elérési útja. (Kívánt)
  • output_dir_path: Könyvtár, ahová az aláírt kódobjektumok íródnak. Ha a kimeneti_útvonal kimarad, a -file_path paraméterben megadott fájl felül lesz írva az aláírt fájllal.

Java kód (Maven) JAR aláírási példa munkafolyamat

Hozzon létre egy projektet

A projekt alatt hozzon létre egy fájlt Travis számára

Határozza meg a munkafolyamat összetevőit

  1. Helyezze el a CPU architektúrát a feladat futtatásához

arch: amd64

  1. A tesztek futtatásának alapértelmezett nyelve

nyelv: java

  1. Adja meg az operációs rendszert, amelyen a feladat fut

operációs rendszer: linux

  1. Írja meg a használni kívánt Ubuntu disztribúciót

ker.: bionikus

  1. A környezeti változók globális meghatározása. A feladat szintű tulajdonság felülírja a globális változókat.
  • Vegye figyelembe, hogy a TERM=dumb csak a Gradle projektpéldányokhoz szükséges.
  • Az ENVIRONMENT_NAME alatt helyezze el a „TEST” értéket a teszt-aláíráshoz, és a „PROD”-t az élő aláíráshoz.

env:

  globális:

    – PROJECT_NAME="HelloWorld"

    – PROJECT_VERSION=”0.0.1″

    – TERM=buta

    – ENVIRONMENT_NAME="TESZT"

  1. Adja meg a szakaszok sorrendjét. Az egyik szakaszban lévő összes feladatot be kell fejezni a következő szakasz végrehajtása előtt.

szakasz:

  - épít

  – jel

Vázolja fel az építési szakaszt  

állások:

  következők:

        – színpad: épít

  1. A munkakör neve

      név: build-maven

  1. A használandó Ubuntu disztribúció

      ker.: bionikus

  1. Használja a docker parancsot az aláíráshoz  

      szolgáltatások:

        – dokkoló

  1. A projekt felépítéséhez használja a dotnet-cli-t

      nyelv: java

  1. Java verzió a projekt felépítéséhez

      jdk:

      – oraclejdk17

  1. Gyorsítótárazza az m2 könyvtárat a gyorsítás érdekében

      cache:

        könyvtárak:

        – OTTHON/.m2 $

  1. Írja meg a Mielőtt szkriptet, hogy futtasson a projekt felépítése előtt

      before_script:

        # Készítsen könyvtárakat a műtermékekhez

        – mkdir -p ${TRAVIS_BUILD_DIR}/termékek

        – mkdir -p ${TRAVIS_BUILD_DIR}/csomagok

        # Állítsa be a Maven összeállítási beállításait

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

  1. Írja meg a szkriptet a projekt felépítéséhez.
  • Ebben az aláírási példa munkafolyamatban több projekttípus jött létre. Ez az oka annak, hogy a különböző projekttípusok fájljait almappák létrehozásával tárolták. A Java projektekhez egy „java” nevű almappa jött létre. A fenti bemutató képernyőképen nem kellett létrehozni egy „java” nevű almappát, így ez nem szerepelt a szkriptben.

      forgatókönyv:

        # Építsen Maven projektet a Maven Options segítségével

        – mvn $MAVEN_CLI_OPTS tiszta telepítés -f java/pom.xml

         # Beépített műtermékek másolása a műtermékek könyvtárába

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

     

  1. Ismertesse, hogyan adhatja meg a feladathoz csatolandó fájlok és könyvtárak listáját, ha az sikeres.

      munkaterületek:

        teremt:

          név: maven-jar-artifacts

          utak:

            # Mentse el a műterméket az aláírási feladat használatához

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

Vázolja fel a jel szakaszát

 – színpad: jel

  1. Írja be a munka nevét

      név: sign-jar-file

  1. Helyezze el az Ubuntu disztribúciót a használatra

      ker.: bionikus

  1. Használja a Docker parancsot az aláíráshoz  

      szolgáltatások:

        – dokkoló

     

  1. Környezeti változók meghatározása adott feladatokhoz.
  • A fenti képernyőképen a jel parancsot közvetlenül a jelszkriptben határozták meg, nem pedig a környezeti változók alatt. Both módszerek megfelelően aláírhatók a TravisCI-vel.

      env:

        COMMAND=”jel”

  1. A projekt felépítéséhez használja a dotnet-cli-t

      nyelv: java

  1. Java verzió a projekt felépítéséhez

      jdk:

      – oraclejdk17

  1. A szkript futtatása előtt a projekt felépítése előtt

      before_script:

        # Készítsen könyvtárakat a műtermékekhez

        – mkdir -p ${TRAVIS_BUILD_DIR}/termékek

        – mkdir -p ${TRAVIS_BUILD_DIR}/csomagok

     

  1. Szkript a projekt felépítéséhez

      forgatókönyv:

        # Docker Pull CodeSigner Docker Image

        – docker pull ghcr.io/sslcom/codesigner:latest

        # Írja alá a műterméket a CodeSigner Docker képpel

        – docker run -i –rm –dns 8.8.8.8 –hálózati gazdagép –kötet ${TRAVIS_BUILD_DIR}/csomagok:/codesign/examples

          –kötet ${TRAVIS_BUILD_DIR}/termékek:/kódtervezés/kimenet

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

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

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

  1. A feladathoz csatolandó fájlok és könyvtárak listájának megadására szolgál, ha az sikeres.

      munkaterületek:

        használja:

          – maven-jar-artefacts

        teremt:

          név: signed-jar-file

          utak:

            # Az aláírt műtermék mentése

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

SSL.com-k EV Kód aláírás A tanúsítványok a legmagasabb szintű érvényesítés mellett segítenek megvédeni a kódot az illetéktelen manipulációtól és a kompromittálódástól, és mindössze $ 249 évente. Akkor is használja az EV Code Signing tanúsítványát a méretarányosan a felhőben az eSigner segítségével.

RENDELD MEG MOST

Határozza meg a környezeti változókat

Lépjen a Travis oldalra, és kattintson a gombra beállítások gomb

Adja hozzá az egyes változók értékét

Görgessen le a gombbal Környezeti változók szakaszban, és kattintson a Hozzáadás gombra az egyes változók értékének hozzáadásához

Hozzon létre egy Github repót

Keresse meg a push parancsokat a Githubon

Írja be a push parancsokat a szerkesztő termináljára

Várja meg, amíg az építési munka befejeződik

A Travis rendszeren az összeállítási feladatnak automatikusan el kell indulnia a kód leküldése után.

Indítsa el a kódaláírási szakaszt

Kattintson az <p></p> szakasz részére CodeSignTool az aláírási folyamat elindításához

Várja meg, amíg a virtuális gép befejezi a rendszerindítást

Erősítse meg, hogy a kódaláírás sikeres volt-e

Tudod hivatkozni a SSL.com Github tárház, amely tartalmazza a docker kép forráskódjait, és leírja, hogyan kell használni: https://github.com/SSLcom/ci-images

Minta Travis CI Pipeline

Tekintse meg az általunk létrehozott Travis CI-folyamatmintát github.com/SSLcom/codesigner-travisci-sample

Egyéb CI/CD szolgáltatás távoli aláírási integrációs útmutatók

Egyedi megoldásokra van szüksége? 

Szakértői tudásunkkal és ötcsillagos támogató munkatársainkkal készen állunk arra, hogy együttműködjünk Önnel az egyedi megoldásokon vagy a vállalati szintű, nagy volumenű aláírási kedvezményeken. Töltse ki az alábbi űrlapot és felvesszük Önnel a kapcsolatot.

Feliratkozás az SSL.com hírlevelére

Ne hagyja ki az SSL.com új cikkeit és frissítéseit

Legyen tájékozott és biztonságos

SSL.com világelső a kiberbiztonság területén, PKI és digitális tanúsítványok. Iratkozzon fel, hogy megkapja a legújabb iparági híreket, tippeket és termékbejelentéseket SSL.com.

Örülnénk a visszajelzésének

Töltse ki felmérésünket, és ossza meg velünk véleményét legutóbbi vásárlásával kapcsolatban.