Pilvikoodin allekirjoituksen integrointi CircleCI:n kanssa

Tämä opetusohjelma näyttää, kuinka eSigner on integroitu CircleCI:n kanssa automaattista koodin allekirjoitusta varten.

eSigner on SSL.comin pilviympäristö koodin allekirjoittamiseen. SSL.com isännöi allekirjoitusavaimia ja varmenteita turvallisesti pilvessä, ja niitä voi käyttää allekirjoittamiseen mistä tahansa Internetiin yhdistetystä laitteesta, mikä tekee eSigneristä yhden parhaista alustoista yrityksen koodin allekirjoittamiseen. eSigner-työkalupakki sisältää CodeSignToolin, joka on a komentoriviohjelma for EV-koodin allekirjoittaminen varmenteita ja sopii erinomaisesti automatisoitujen allekirjoitusprosessien luomiseen erilaisissa Continuous Integration/Continuous Delivery (CI/CD) -alustoissa, mukaan lukien CircleCI. 

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.

Valmistele työnkulun osat (.NET-koodin DLL-allekirjoitus)

  1. Luo .circleci-kansio

Luo koodin allekirjoitustyötilaan a .circleci-kansio. Luo sen alle a config.yml-tiedosto.

  1. Aseta CI-versio
versio: 2.1
 
  1.  Kutsu töitä työnkulkujen kautta. Työnkulut järjestävät joukon suoritettavia töitä. Tämän putkilinjan työt on määritetty alla

Katso: https://circleci.com/docs/2.0/configuration-reference/#workflows

työnkulkuja:
 
  1. Kirjoita työnkulun nimi.
  dotnet:
 
  1. Työnkulun sisällä määrität työt, jotka haluat suorittaa.
 työt: - rakentaa - allekirjoittaa: vaatii: - rakentaa
 

Määritä rakennusvaihe

  1. Määritä työ, joka kutsutaan myöhemmin työnkulussa.

 (Katso: https://circleci.com/docs/2.0/configuration-reference/#jobs)

työtehtävät: rakentaa:

 

  1. Luo ympäristömuuttuja
  • Ympäristömuuttujia käytetään näytteiden luettavuuden parantamiseksi. Yllä olevassa kuvakaappauksessa esimerkin allekirjoituksen työnkulusta PROJECT_NAME, PROJECT_VERSION ja DOTNET_VERSION jätettiin valinnaisesti pois. Allekirjoitus voi silti jatkua näilläkin puutteilla.  
  ympäristö: PROJECT_NAME: HelloWorld PROJECT_VERSION: 0.0.1 DOTNET_VERSION: 3.1 TYÖTILA: /home/circleci/projekti

 

  1.  Määritä Docker-suoritin: (https://circleci.com/docs/2.0/executor-types/)

    # Voit määrittää kuvan Dockerhubista tai käyttää jotakin CircleCI:n kehittäjäkeskuksen mukavuuskuvista.

 docker: - kuva: mcr.microsoft.com/dotnet/sdk:3.1-bullseye

 

  1. Aseta työn työhakemisto
  työhakemisto: /home/circleci/projekti

 

  1. Lisää vaiheita työhön

    Katso: https://circleci.com/docs/2.0/configuration-reference/#steps

  vaiheet:

 

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

 

  1. Luo Artefact Directory tallentaaksesi allekirjoitetut ja allekirjoittamattomat artefaktitiedostot
    - suorita: nimi: Luo Artefacts Directory -komento: | mkdir -p ${TYÖPAIKKA}/artefacts mkdir -p ${TYÖPAIKKA}/paketit

 

  1.  Rakenna dotnet-projekti tai -ratkaisu ja kaikki sen riippuvuudet.
      - suorita: nimi: Build Dotnet Project Komento: dotnet build dotnet/${PROJECT_NAME}.csproj -c Release

 

  1. Kopioi artefakti esinehakemistoon
  • Tässä kirjallisen allekirjoituksen esimerkkityönkulussa luotiin useita projektityyppejä. Tästä syystä eri projektityyppien tiedostot säilytettiin luomalla alikansioita. Dotnet-projekteille luotiin alikansio nimeltä "dotnet". Yllä olevassa demo-kuvakaappauksessa ei tarvinnut luoda alikansiota nimeltä "dotnet", joten sitä ei sisällytetty skriptiin.
  - suorita: nimi: Kopioi esineet -komento: | cp dotnet/bin/Release/netcoreapp${DOTNET_VERSION}/${PROJECT_NAME}-${PROJECT_VERSION}.dll ${WORKSPACE}/packages/HelloWorld.dll

 

  1. Säilytä artefakti artefaktihakemistoon allekirjoittamista varten
  - persist_to_workspace: root: . polut: - paketit/*
 

Määritä allekirjoitusvaihe

  1. Määrittele allekirjoitustyö
 merkki:

 

  1. Luo ympäristömuuttuja
  • Yllä olevassa kuvakaappauksessa merkkikomento määritettiin suoraan merkkikomentosarjassa, ei ympäristömuuttujien alla. Bmuut menetelmät voivat allekirjoittaa oikein CircleCI:n kanssa.
  • Ympäristömuuttujia käytetään näytteiden luettavuuden parantamiseksi. Esimerkkityönkulun yllä olevassa kuvakaappauksessa joitain muuttujia ei valinnaisesti sisällytetty. Allekirjoitus voi silti jatkua näilläkin puutteilla.  
    ympäristö: ENVIRONMENT_NAME: PROD COMMAND: merkki TYÖPAIKKA: /home/circleci/projekti

 

  1.     Aseta työn työhakemisto Circle-CI:lle
 työhakemisto: /home/circleci/projekti

 

  1. Artefaktin nimi allekirjoitusta varten
  • 'Artefaktin-nimi'-arvo on vaihtoehto useille projekteille. Parametri 'artefact-name' lisättiin, jotta samaa allekirjoitusosaa voidaan käyttää kaikille projektityypeille. Koska kuvakaappauksen esimerkki perustuu yhteen projektiin, sitä ei tarvinnut sisällyttää.
    parametrit: artefaktin-nimi: tyyppi: merkkijono oletus: ''

 

  1. Määritä Docker-suorituskyky:

 Katso lisätiedot: https://circleci.com/docs/2.0/executor-types/

       Voit määrittää kuvan Dockerhubista tai käyttää jotakin CircleCI:n kehittäjäkeskuksen mukavuuskuvista.

       Muista päivittää alla oleva Docker-kuvatunniste sovelluksesi openjdk-versioon.

       Luettelo saatavilla olevista CircleCI Docker Convenience -kuvista on saatavilla täältä: https://circleci.com/developer/images/image/cimg/openjdk

   docker: - kuva: cimg/openjdk:17.0.3

 

  1. Lisää vaiheita työhön

      Katso lisätiedot: https://circleci.com/docs/2.0/configuration-reference/#steps

    vaiheet:

 

  1. Luo Artefact Directory tallentaaksesi allekirjoitetut ja allekirjoittamattomat artefaktitiedostot
  - suorita: nimi: Luo Artefacts Directory -komento: | mkdir -p ${TYÖPAIKKA}/artefacts mkdir -p ${TYÖPAIKKA}/paketit

 

  1. Liitä työtilaan, jotta voit käyttää artefaktitiedostoa
   - attach_workspace: osoitteessa: /home/circleci/projekti

 

  1. Ota Docker for CodeSigner käyttöön Circle-CI:ssä
 - setup_remote_docker: nimi: Asenna etätelakkaversio: 19.03.13 docker_layer_caching: true

 

  1. Vedä Codesigner Docker -kuva Githubin rekisteristä
        - suorita: nimi: Docker Pull Image -komento: | docker pull ghcr.io/sslcom/codesigner: uusin docker pull alpine: 3.4

 

  1. Kirjoita vaihe, jossa artefakti allekirjoitetaan CodeSignToolilla.
 - suorita: nimi: Sign Artefact File -komento: | docker create -v /codesign/packages --name codesign-in alpine:3.4 /bin/true docker create -v /codesign/artifacts --name codesign-out alpine:3.4 /bin/true docker cp ${WORKSPACE}/packages /<< parameters.artifact-name >> codesign-in:/codesign/packages docker run -i --rm --dns 8.8.8.8 --network host --volumes-from codesign-in --volumes-from codesign- ulos -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: ${COMMAND} -input_file_path=/codesign/packages/<< parameters.artifact-name >> -output_dir_path=/codesign/artifacts docker cp codesign-out:/codesign/artifacts/<< parametrit.artifact-nimi >> ${ TYÖPAIKKA}/artefacts/<< parametrit.artifact-nimi >>

 

  1. Kirjoita vaihe, jolla artefaktisi ladataan työnkulusta, jolloin voit jakaa tietoja töiden välillä ja tallentaa tietoja, kun työnkulku on valmis
    - store_artifacts: nimi: Lataa allekirjoitetut tiedostot polku: /home/circleci/project/artifacts/<< parametrit.artifact-nimi >> kohde: << parametrit.artifact-nimi >>
 

Luo uusi arkisto komentoriville

Kopioi push-komentokomponentit projektisi sijainnista GitHub-tililläsi

Sisällytä kaikki push-komentokomponentit editoriin

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ä projekti CircleCI:ssä käyttämällä GitHubiin integroitua arkistoa

Määritä kaikki ympäristömuuttujat

Kun projekti on käynnissä, napsauta Projektin asetukset -painiketta ja sen jälkeen Ympäristömuuttujat määrittääksesi muuttujat

Aseta arvot kullekin muuttujalle

Valitse Lisää ympäristömuuttuja -painiketta lisätäksesi kaikkien projektiin tarvittavien muuttujien nimet ja arvot.

Odota projektin valmistumista

Napsauta Jatkuu työtilaan

Odota hetki, kunnes työtilan arkisto on ladattu onnistuneesti.

Napsauta allekirjoituspainiketta

Odota, että Remote Docker on asennettu

Se voi kestää yli minuutin tiedoston koosta riippuen

Odota, että artefaktit allekirjoitetaan

Napauta Esineet kieleke

Jos napsautat Esineet, näet tiedoston, jonka koodi on allekirjoitettu onnistuneesti. CircleCI ilmoittaa sinulle myös onnistuneesta koodin allekirjoittamisesta.

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

Esimerkki CircleCI-putkilinjasta

Katso esimerkki CircleCI-putkista, jonka olemme luoneet github.com/SSLcom/codesigner-circleci-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.