Cloud Code Signing -integraatio GitHub Actionsin kanssa

Tämä opasartikkeli osoittaa, kuinka eSigner on integroitu GitHub Actionsin kanssa automaattista koodin allekirjoitusta varten jatkuvan integroinnin/jatkuvan toimituksen (CI/CD) asetuksissa.

eSigner on pilvipohjainen allekirjoitusalustamme, johon ohjelmistokehittäjät ympäri maailmaa luottavat ja joka suorittaa yrityskoodin allekirjoittamisen ilman USB-tunnuksia tai muita erikoislaitteita.  Yksi eSignerin osista on CodeSignTool: yksityisyyteen perustuva komentorivityökalu, joka on erittäin tehokas kehittäjille, jotka haluavat automatisoida koodin allekirjoittamisen.  Seuraavat osiot osoittavat, kuinka voit allekirjoittaa Java-koodin (Maven) GitHub Actionsissa eSigner CodeSignToolin avulla.

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

Käyttö

- nimi: Allekirjoita artefakti CodeSignToolilla

  käyttää: sslcom/actions-codesigner@develop

  kanssa:

  •      CodeSignTool-komennot:

     - get_credential_ids: Näyttää luettelon käyttäjään liittyvistä eSigner-tunnistetunnuksista.

     - credential_info: Tunnistetunnukseen liittyvät tulostusavaimen ja varmenteen tiedot.

     - sign: Merkki ja aikaleima-koodiobjekti.

     - batch_sign: Allekirjoita ja aikaleima useita koodiobjekteja yhdellä OTP: llä.

     - hash: Laske hajautusarvot valmiiksi myöhempää käyttöä varten batch_hash_sign-komennon kanssa.

     - batch_sign_hash: Allekirjoita tiiviste, joka on laskettu valmiiksi hash-komennolla.

        komento: merkki

 

  • SSL.com-tilin käyttäjätunnus.

         username: ${{secrets.ES_USERNAME}}

  •  SSL.com-tilin salasana.

         password: ${{secrets.ES_PASSWORD}}

  • Valtuustunnus varmenteen allekirjoittamista varten.

         credential_id: ${{secrets.CREDENTIAL_ID}}

         totp_secret: ${{secrets.ES_TOTP_SECRET}}

  • Allekirjoitettavan koodiobjektin polku.

          file_path: ${GITHUB_WORKSPACE}/test/src/build/HelloWorld.jar

  • Hakemisto, johon allekirjoitetut koodiobjektit kirjoitetaan.

          output_path: ${GITHUB_WORKSPACE}/artifacts

 

Tulot

  • käyttäjätunnus: 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)
  • tiedostopolku: Allekirjoitettavan koodiobjektin polku. (Vaaditaan)
  • lähtö_polku: 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

Valmistele työnkulun osat

  1. Luo Github-kansio editorissasi. Sisällytä kansioon työnkulkuja ja luo yml-tiedosto kansion alle.
    1. Nimeä projektisi ja siihen liittyvän työnkulun tyyppi
    Nimi: Maven Build and Sign
     
    1. Käynnistä tämä työnkulku työntämällä
    päällä: työnnä
     
    1. Luo ympäristömuuttuja
    • Ympäristömuuttujia käytetään näytteiden luettavuuden parantamiseksi. Esimerkkityönkulun yllä olevassa kuvakaappauksessa PROJECT_NAME, PROJECT_VERSION ja MAVEN_VERSION jätettiin valinnaisesti pois. Allekirjoitus voi silti jatkua näilläkin puutteilla.
    env: PROJECT_NAME: HelloWorld PROJECT_VERSION: 0.0.1 MAVEN_VERSION: 3.8.5 JAVA_VERSION: 17
     
    1. Määritä työt editorissasi
    työtehtävät: build-and-sign-jar:
     
    1. Suorita työ Ubuntu Runnerilla
        käynnissä: ubuntu-latest
     
    1. Luo nimi. Kun työnkulku suoritetaan, tämä nimi kirjataan.
      nimi: CodeSigner Javassa Mavenin kanssa
     

Esittele vaiheet lähdekoodin tarkistamiseksi, Java- ja Maven-ympäristön määrittämiseksi ja Artifact Directory -hakemiston luomiseksi.

  1) Tarkista lähdekoodi, jotta työnkulku voi käyttää sitä.

   vaiheet: - käyttää: actions/checkout@v2
 

  2) Määritä Java- ja Maven-ympäristö käytettäväksi työnkulkua varten.

    - nimi: Asenna Maven ja Java käyttää: s4u/setup-maven-action@v1.3.1 with: java-version: '${{env.JAVA_VERSION}}' maven-version: '${{env.MAVEN_VERSION}}'

 

      3) Luo Artefact Directory tallentaaksesi allekirjoitetut ja allekirjoittamattomat artefaktitiedostot

 - nimi: Luo hakemiston kuori: bash run: | mkdir ${GITHUB_WORKSPACE}/artefacts mkdir ${GITHUB_WORKSPACE}/paketit

 

      4) Rakenna maven-projekti tai ratkaisu ja kaikki sen riippuvuudet.

      Kun jar-tiedosto on luotu, kopioi se paketit-kansioon allekirjoittamista varten

  • Tässä kirjallisen allekirjoituksen esimerkkityö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.
 - nimi: Build Java Project -kuori: bash run: | mvn clean install -f java/pom.xml cp java/target/${{env.PROJECT_NAME}}-${{env.PROJECT_VERSION}}.jar ${GITHUB_WORKSPACE}/packages/${{env.PROJECT_NAME}}. purkki
 

Esitä allekirjoitus- ja lähetystöiden vaiheet

  1. Allekirjoitustyö on vaihe, jossa luodut JAR-tiedostot (artefaktit) allekirjoitetaan CodeSignToolilla.
 - nimi: Sign Artifact käyttää: sslcom/actions-codesigner@develop with:

           Merkki- ja aikaleimakoodiobjekti.

komento: merkki

           SSL.com-tilin käyttäjätunnus.

käyttäjätunnus: ${{secrets.ES_USERNAME}}

           SSL.com-tilin salasana.

salasana: ${{secrets.ES_PASSWORD}}

           Valtuustunnus varmenteen allekirjoittamista varten.

credential_id: ${{secrets.CREDENTIAL_ID}}

           OAuthin TOTP-salaisuus (https://www.ssl.com/how-to/automate-esigner-ev-code-signing)

totp_secret: ${{secrets.ES_TOTP_SECRET}}

           Allekirjoitettavan koodiobjektin polku. (DLL, JAR, EXE, MSI-tiedostot vb…)

  tiedostopolku: ${GITHUB_WORKSPACE}/packages/${{env.PROJECT_NAME}}.jar

           Hakemisto, johon allekirjoitetut koodiobjektit kirjoitetaan.

output_path: ${GITHUB_WORKSPACE}/artefacts

 

  1. Lataustyö on vaihe, jossa työnkulkusi artefaktit ladataan, jolloin voit jakaa tietoja töiden välillä ja tallentaa tietoja, kun työnkulku on valmis.
 - nimi: Lataa allekirjoitetut tiedostot käyttää: action/upload-artifact@v2 with: name: ${{env.PROJECT_NAME}}.jar polku: ./artifacts/${{env.PROJECT_NAME}}.jar
 

Hanki koontiartefaktin latausohjelma Github Marketplacesta

Tarkista koodausohjelmasi

Kaiken kaikkiaan koonti-, allekirjoitus- ja lataustöiden koodausskriptin tulisi näyttää alla olevan kuvan kaltaisesta. Muista korjata kaikki virheet, kuten kirjoitusvirheet tai virheelliset rivinvaihdot skriptissä, jotta allekirjoitusprosessi sujuu kitkattomasti.

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ääritä ympäristömuuttujasi

Siirry projektisi sijaintiin Github-tililläsi. Klikkaa Toiminnot välilehti. Klikkaa Uusi arkiston salaisuus -painiketta asettaaksesi arvot kullekin ympäristömuuttujalle, jota tarvitaan koodisi allekirjoittamiseen.

Luo uusi arkisto komentoriville

Siirry projektisi sijaintiin Githubissa ja kopioi jokainen push-komennon komponentti.

Työnnä projektia

Sisällytä jokainen push-komentorivi koodieditoriin. Kun koodi on valmis, se työnnetään automaattisesti Githubiin.

Odota, että artefakti on allekirjoitettu eSigner CodeSignToolilla

Lataa allekirjoitettu tiedosto

Napsauta allekirjoitettua tiedostoa ladataksesi sen.

Huomautus: Muista korjata kirjoitusvirheet tai virheelliset rivinvaihdot komentosarjassa, jotta allekirjoitusprosessi sujuu kitkattomasti.

Esimerkki Github Actions Pipelinesta


Katso esimerkki Github Actions -putkista, jonka olemme luoneet github.com/SSLcom/codesigner-github-sample  

Muut CI/CD-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.