Cloud Code Signing -integrointi Travis CI:n kanssa

Tämä artikkeli näyttää, kuinka voit suorittaa automaattisen koodin allekirjoittamisen Travis CI:ssä integroimalla eSigner CodeSignToolin putkistoon. 

eSigner on etäkoodin allekirjoitusalustamme, joka tarjoaa saman suojaustason kuin USB-tokenit ja verkko-HSMS, mutta tehokkaammin ja intuitiivisemmin.  Osa eSigner-työkalupakkia on CodeSignTool: suojattu komentorivityökalu, joka on ihanteellinen yrityskoodin allekirjoittamiseen erilaisissa CI/CD-ympäristöissä, mukaan lukien Travis.
SSL.com n EV Koodin allekirjoittaminen varmenteet auttavat suojaamaan koodiasi luvattomalta manipuloinnilta ja vaarantumiselta korkeimmalla varmennustasolla, ja ne ovat saatavilla vain vähän $ 249 vuodessa. Voit myös käytä EV Code Signing -sertifikaattiasi mittakaavassa pilvessä eSignerillä.

TILAA NYT

ympäristömuuttujat

  • USERNAME: SSL.com-tilin käyttäjätunnus. (Vaaditaan)
  • SALASANA: SSL.com-tilin salasana (pakollinen)
  • CREDENTIAL_ID: Tunnus varmenteen allekirjoittamista varten. Jos credential_id jätetään pois ja käyttäjällä on vain yksi eSigner-koodin allekirjoitusvarmenne, CodeSignTool käyttää oletuksena sitä. Jos käyttäjällä on useampi kuin yksi koodin allekirjoitusvarmenne, tämä parametri on pakollinen. (Vaaditaan)
  • TOTP_SECRET: OAuthin TOTP-salaisuus. Voit tutustua yksityiskohtaisiin tietoihin osoitteessa https://www.ssl.com/how-to/automate-esigner-ev-code-signing (Pakollinen)
  • ENVIRONMENT_NAME : 'TEST' tai 'PROD' -ympäristö. (Vaaditaan)

Tulot

  • input_file_polku: Allekirjoitettavan koodiobjektin polku. (Vaaditaan)
  • output_dir_path: Hakemisto, johon allekirjoitetut koodiobjektit kirjoitetaan. Jos lähtöpolku jätetään pois, kohdassa -file_path määritetty tiedosto korvataan allekirjoitetulla tiedostolla.

Java-koodin (Maven) JAR-allekirjoituksen esimerkkityönkulku

Luo projekti

Luo projektissa tiedosto Travisille

Määritä työnkulun osat

  1. Aseta CPU-arkkitehtuuri suorittaaksesi työn

arch: amd64

  1. Oletuskieli, jolla testit suoritetaan

kieli: java

  1. Määritä käyttöjärjestelmä, jossa työ suoritetaan

käyttöjärjestelmä: linux

  1. Kirjoita käytettävä Ubuntu-jakelu

dist: bionic

  1. Määrittele ympäristömuuttujat maailmanlaajuisesti. Työtason ominaisuus ohittaa globaalit muuttujat.
  • Huomaa, että TERM=dumb tarvitaan vain Gradle-projektin esiintymissä.
  • Aseta kohtaan ENVIRONMENT_NAME "TEST" testiallekirjoitusta varten ja "PROD" live-allekirjoitusta varten.

env:

  globaali:

    – PROJECT_NAME="HelloWorld"

    – PROJECT_VERSION=”0.0.1″

    – TERM = tyhmä

    – ENVIRONMENT_NAME=”TESTI”

  1. Määritä vaiheiden järjestys. Kaikki yhden vaiheen työt on suoritettava ennen kuin seuraava vaihe suoritetaan.

Tasot:

  – rakentaa

  - merkki

Piirrä rakennusvaihe  

työpaikat:

  sisältää:

        – vaihe: rakentaa

  1. Työn nimi

      nimi: build-maven

  1. Ubuntu-jakelu käytettäväksi

      dist: bionic

  1. Käytä allekirjoittamiseen Docker-komentoa  

      palvelut:

        - telakka

  1. Käytä dotnet-cli:tä projektin rakentamiseen

      kieli: java

  1. Java-versio projektin rakentamiseksi

      JDK:

      – oralejdk17

  1. Tallenna m2-hakemisto välimuistiin nopeuttaaksesi

      kätkö:

        hakemistot:

        – $KOTI/.m2

  1. Kirjoita Ennen-skripti suoritettavaksi ennen projektin rakentamista

      before_script:

        # Luo hakemistoja esineille

        – mkdir -p ${TRAVIS_BUILD_DIR}/artefacts

        – mkdir -p ${TRAVIS_BUILD_DIR}/paketit

        # Aseta Mavenin rakennusasetukset

        – vie MAVEN_CLI_OPTS=”–erätila –virheet –fail-at-end –show-version -DinstallAtEnd=true -DdeployAtEnd=true”

  1. Kirjoita käsikirjoitus projektin rakentamiseksi.
  • Tässä allekirjoitusesimerkin työnkulussa luotiin useita projektityyppejä. Tästä syystä eri projektityyppien tiedostot säilytettiin luomalla alikansioita. Java-projekteille luotiin alikansio nimeltä "java". Yllä olevassa demo-kuvakaappauksessa ei tarvinnut luoda alikansiota nimeltä "java", joten sitä ei sisällytetty skriptiin.

      käsikirjoitus:

        # Rakenna Maven-projekti Maven-vaihtoehdoilla

        – mvn $MAVEN_CLI_OPTS puhdas asennus -f java/pom.xml

         # Kopioi rakennetut esineet artefaktihakemistoon

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

     

  1. Selvitä, kuinka voit määrittää luettelon tiedostoista ja hakemistoista, jotka tulee liittää työhön, jos se onnistuu.

      työtilat:

        luoda:

          nimi: maven-jar-artefacts

          polut:

            # Tallenna artefakti käyttääksesi allekirjoitustyötä

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

Piirrä merkkivaihe

 – vaihe: merkki

  1. Kirjoita työn nimi

      nimi: sign-jar-file

  1. Aseta Ubuntu-jakelu käytettäväksi

      dist: bionic

  1. Käytä allekirjoittamiseen Docker-komentoa  

      palvelut:

        - telakka

     

  1. Määritä ympäristömuuttujat tietyille töille.
  • Yllä olevassa kuvakaappauksessa merkkikomento määritettiin suoraan merkkikomentosarjassa, ei ympäristömuuttujien alla. Both menetelmät voivat allekirjoittaa oikein TravisCI:n kanssa.

      env:

        COMMAND=”merkki”

  1. Käytä dotnet-cli:tä projektin rakentamiseen

      kieli: java

  1. Java-versio projektin rakentamiseksi

      JDK:

      – oralejdk17

  1. Ennen kuin skripti suoritetaan ennen projektin rakentamista

      before_script:

        # Luo hakemistoja esineille

        – mkdir -p ${TRAVIS_BUILD_DIR}/artefacts

        – mkdir -p ${TRAVIS_BUILD_DIR}/paketit

     

  1. Käsikirjoitus projektin rakentamiseksi

      käsikirjoitus:

        # Docker Pull CodeSigner Docker Image

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

        # Allekirjoita artefakti CodeSigner Docker -kuvalla

        – docker run -i –rm –dns 8.8.8.8 –verkkoisäntä –volyymi ${TRAVIS_BUILD_DIR}/paketit:/codesign/examples

          -volume ${TRAVIS_BUILD_DIR}/artefacts:/codesign/output

          -e KÄYTTÄJÄNIMI=${KÄYTTÄJÄNIMI} -e SALASANA=${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. Käytetään määrittämään luettelo tiedostoista ja hakemistoista, jotka tulee liittää työhön, jos se onnistuu.

      työtilat:

        käyttää:

          - maven-jar-artefacts

        luoda:

          nimi: signed-jar-file

          polut:

            # Tallenna allekirjoitettu artefakti

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

SSL.com n EV Koodin allekirjoittaminen varmenteet auttavat suojaamaan koodiasi luvattomalta manipuloinnilta ja vaarantumiselta korkeimmalla varmennustasolla, ja ne ovat saatavilla vain vähän $ 249 vuodessa. Voit myös käytä EV Code Signing -sertifikaattiasi mittakaavassa pilvessä eSignerillä.

TILAA NYT

Määrittele ympäristömuuttujat

Siirry Travisiin ja napsauta Asetukset nappia

Lisää arvo jokaiselle muuttujalle

Vieritä alaspäin kohtaan ympäristömuuttujat ja napsauta Lisää-painiketta lisätäksesi arvon kullekin muuttujalle

Luo Github-repo

Etsi push-komennot Githubista

Kirjoita push-komennot editorin päätteeseen

Odota rakennustyön valmistumista

Travisissa rakennustyön pitäisi alkaa automaattisesti, kun olet painanut koodin.

Aloita koodin allekirjoitusvaihe

Valitse merkki -osio CodeSignTool aloittaaksesi allekirjoitusprosessin

Odota, että virtuaalikoneesi on käynnistynyt loppuun

Varmista, että koodin allekirjoitus onnistui

Voit viitata SSL.com Github-arkisto, joka sisältää docker-kuvan lähdekoodit ja kuvaa sen käytön: https://github.com/SSLcom/ci-images

Esimerkki Travis CI -putkilinjasta

Katso esimerkki Travis CI -putkista, jonka olemme luoneet github.com/SSLcom/codesigner-travisci-sample

Muut CI/CD-palvelun etäallekirjoituksen integrointioppaat

Tarvitsetko mukautettuja ratkaisuja? 

Asiantuntijaosaamisemme ja viiden tähden tukihenkilöstömme avulla olemme valmiita ja halukkaita työskentelemään kanssasi räätälöityjen ratkaisujen tai yritystason suurten allekirjoitusalennusten parissa. Täytä alla oleva lomake, niin olemme sinuun yhteydessä.

Tilaa SSL.com: n uutiskirje

Älä missaa uusia SSL.com -artikkeleita ja päivityksiä

Pysy ajan tasalla ja turvassa

SSL.com on maailman johtava kyberturvallisuuden johtaja, PKI ja digitaaliset sertifikaatit. Rekisteröidy saadaksesi viimeisimmät alan uutiset, vinkit ja tuoteilmoitukset SSL.com.

Otamme mielellämme palautetta vastaan

Vastaa kyselyymme ja kerro meille mielipiteesi viimeaikaisesta ostoksestasi.