Pilvekoodi allkirjastamise integreerimine CircleCI-ga

See õpetus näitab, kuidas eSigner on integreeritud CircleCI-ga automaatse koodi allkirjastamise jaoks.

eSigner on SSL.com-i pilvekeskkond koodi allkirjastamiseks. Allkirjastamisvõtmeid ja sertifikaate majutab turvaliselt pilves SSL.com ning neile pääseb juurde allkirjastamiseks mis tahes Interneti-ühendusega seadmest, muutes eSigneri üheks parimaks platvormiks ettevõtte koodi allkirjastamiseks. eSigner tööriistakomplekt sisaldab CodeSignTooli, mis on a käsurea utiliit EV-koodi allkirjastamine sertifikaadid ja sobib ideaalselt automatiseeritud allkirjastamisprotsesside loomiseks erinevatel pideva integratsiooni/pideva edastamise (CI/CD) platvormidel, sealhulgas CircleCI. 

SSL.com-d EV Koodiallkirjastamine sertifikaadid aitavad kaitsta teie koodi volitamata rikkumiste ja kompromisside eest kõrgeima valideerimistasemega ning on saadaval kõige vähem $ 249 aastas. Te saate ka kasutage oma EV koodi allkirjastamise sertifikaati suures ulatuses pilves, kasutades eSignerit.

TELLI NÜÜD

Keskkonna muutujad

  • KASUTAJATUNNUSE: SSL.com-i konto kasutajanimi. (Nõutud)
  • PASSWORD: SSL.com konto parool (nõutav)
  • CREDENTIAL_ID: sertifikaadi allkirjastamise mandaadi ID. Kui credential_id on välja jäetud ja kasutajal on ainult üks eSigneri koodi allkirjastamise sertifikaat, kasutab CodeSignTool vaikimisi seda. Kui kasutajal on rohkem kui üks koodi allkirjastamise sertifikaat, on see parameeter kohustuslik. (Nõutud)
  • TOTP_SECRET: OAuthi TOTP saladus. Üksikasjalikule teabele pääsete juurde aadressil https://ssl.com/how-to/automate-esigner-ev-code-signing (Nõutav)
  • ENVIRONMENT_NAME : 'TEST' või 'PROD' keskkond. (Nõutud)

Sisendid

  • sisendfaili_tee: allkirjastatava koodiobjekti tee. (Nõutud)
  • väljundi_kataloogi_tee: kataloog, kuhu kirjutatakse allkirjastatud koodiobjekt(id). Kui väljundi_tee jäetakse välja, kirjutatakse failitee määratud fail allkirjastatud failiga üle.

Valmistage ette töövoo komponendid (.NET-koodi DLL-i allkirjastamine)

  1. Looge kaust .circleci

Looge oma koodi allkirjastamise tööruumis a .circleci kaust. Selle alla looge a faili config.yml.

  1. Määrake CI versioon
versioon: 2.1
 
  1.  Kutsuge töid töövoogude kaudu. Töövood korraldavad käivitatavate tööde komplekti. Selle torujuhtme tööd on konfigureeritud allpool

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

töövood:
 
  1. Kirjutage töövoo nimi.
  dotnet:
 
  1. Töövoo sees saate määratleda tööd, mida soovite käivitada.
 töökohad: - ehitama - allkirjastama: nõuab: - ehitama
 

Määratlege ehitusetapp

  1. Määrake töö, mida töövoos hiljem kutsuda.

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

Töökohad: ehitamine:

 

  1. Looge keskkonnamuutuja
  • Näidiste loetavamaks muutmiseks kasutatakse keskkonnamuutujaid. Allkirjastamise töövoo näite ülaltoodud ekraanipildil jäeti PROJECT_NAME, PROJECT_VERSION ja DOTNET_VERSION valikuliselt välja. Allkirjastamine võib jätkuda isegi nende väljajätmiste korral.  
  keskkond: PROJECT_NAME: HelloWorld PROJECT_VERSION: 0.0.1 DOTNET_VERSION: 3.1 TÖÖRUUM: /home/circleci/projekt

 

  1.  Dockeri täitja määratlemine: (https://circleci.com/docs/2.0/executor-types/)

    # Saate määrata pildi Dockerhubist või kasutada mõnda meie mugavuspiltidest CircleCI arendajakeskusest.

 dokkija: - pilt: mcr.microsoft.com/dotnet/sdk:3.1-bullseye

 

  1. Asetage töö jaoks töökataloog
  töökataloog: /home/circleci/projekt

 

  1. Lisage tööle samme

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

  sammud:

 

  1.  Vaadake lähtekoodi, et töövoog sellele juurde pääseks.
    - kassasse

 

  1. Looge artefaktide kataloog allkirjastatud ja allkirjastamata artefaktifailide salvestamiseks
    - run: name: Loo artefaktide kataloog käsk: | mkdir -p ${WORKSPACE}/artefaktid mkdir -p ${WORKSPACE}/paketid

 

  1.  Koostage dotneti projekt või lahendus ja kõik selle sõltuvused.
      - käivitage: nimi: Build Dotnet Project Käsk: dotnet build dotnet/${PROJECT_NAME}.csproj -c väljalase

 

  1. Kopeerige artefakt artefaktide kataloogi
  • Selles kirjaliku allkirjastamise näite töövoos loodi mitu projektitüüpi. Seetõttu säilitati erinevate projektitüüpide faile, luues alamkaustad. Dotneti projektide jaoks loodi alamkaust nimega 'dotnet'. Ülaltoodud demo ekraanipildil ei olnud vaja luua alamkausta nimega "dotnet", nii et see ei sisaldunud skriptis.
  - käivitage: nimi: käsk Kopeeri artefaktid: | cp dotnet/bin/Release/netcoreapp${DOTNET_VERSION}/${PROJECT_NAME}-${PROJECT_VERSION}.dll ${WORKSPACE}/packages/HelloWorld.dll

 

  1. Säilitage artefakt allkirjastamiseks artefaktide kataloogi
  - persist_to_workspace: root: . teed: - paketid/*
 

Määratlege allkirjastamise etapp

  1. Määratlege allkirjastamistöö
 märk:

 

  1. Looge keskkonnamuutuja
  • Ülaltoodud ekraanipildil määrati märgikäsk otse märgiskriptis, mitte keskkonnamuutujate all. Bmuud meetodid saavad CircleCI-ga õigesti allkirjastada.
  • Näidiste loetavamaks muutmiseks kasutatakse keskkonnamuutujaid. Näidistöövoo ülaltoodud ekraanipildil ei olnud mõningaid muutujaid valikuliselt kaasatud. Allkirjastamine võib jätkuda isegi nende väljajätmiste korral.  
    keskkond: ENVIRONMENT_NAME: PROD COMMAND: märk WORKSPACE: /home/circleci/projekt

 

  1.     Asetage töö kataloog Circle-CI-sse
 töökataloog: /home/circleci/projekt

 

  1. Artefakti nimi allkirjastamiseks
  • Väärtus 'artefact-name' on valik mitme projekti jaoks. Parameeter 'artefact-name' lisati, et sama allkirjastamisosa saaks kasutada kõigi projektitüüpide jaoks. Kuna ekraanipildil olev näide põhineb ühel projektil, ei olnud seda vaja lisada.
    parameetrid: artefakti nimi: tüüp: string vaikimisi: ''

 

  1. Dockeri täitja määratlemine:

 Lisateabe saamiseks vaadake: https://circleci.com/docs/2.0/executor-types/

       Saate määrata pildi Dockerhubist või kasutada mõnda meie mugavuspiltidest CircleCI arendajakeskusest.

       Värskendage kindlasti allolevat Dockeri pildimärgendit oma rakenduse openjdk versiooniks.

       Saadaolevate CircleCI Dockeri mugavuspiltide loend on saadaval siin: https://circleci.com/developer/images/image/cimg/openjdk

   dokkija: - pilt: cimg/openjdk:17.0.3

 

  1. Lisage tööle samme

      Lisateabe saamiseks vaadake: https://circleci.com/docs/2.0/configuration-reference/#steps

    sammud:

 

  1. Looge artefaktide kataloog allkirjastatud ja allkirjastamata artefaktifailide salvestamiseks
  - run: name: Loo artefaktide kataloog käsk: | mkdir -p ${WORKSPACE}/artefaktid mkdir -p ${WORKSPACE}/paketid

 

  1. Manustage artefaktifailile juurdepääsemiseks tööruumi
   - attach_workspace: aadressil: /home/circleci/projekt

 

  1. Luba Docker for CodeSigner rakenduses Circle-CI
 - setup_remote_doccker: nimi: Seadista Remote Docker versioon: 19.03.13 docker_layer_caching: true

 

  1. Tõmmake Codesigner Dockeri pilt Githubi registrist
        - käivitage: nimi: Docker Pull Image käsk: | docker pull ghcr.io/sslcom/codesigner: uusim docker pull alpine: 3.4

 

  1. Kirjutage samm, kus artefakt CodeSignTooliga allkirjastatakse.
 - käivitage: nimi: Sign Artefact File käsk: | 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- välja -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: ${COMMAND} -input_file_path=/codesign/packages/<< parameters.artifact-name >> -output_dir_path=/codesign/artifacts docker cp codesign-out:/codesign/artifacts/<< parameters.artifact-name >> ${ WORKSPACE}/artefacts/<< parameetrid.artefact-name >>

 

  1. Kirjutage oma artefakti töövoost üleslaadimise samm, mis võimaldab teil tööde vahel andmeid jagada ja andmeid salvestada, kui töövoog on lõppenud
    - store_artifacts: nimi: Laadi alla allkirjastatud failid tee: /home/circleci/project/artifacts/<< parameetrid.artifact-nimi >> sihtkoht: << parameetrid.artifact-name >>
 

Looge käsureal uus hoidla

Kopeerige tõukekäsu komponendid oma projekti asukohast oma GitHubi kontole

Kaasake oma redaktorisse kõik tõukekäsu komponendid

SSL.com-d EV Koodiallkirjastamine sertifikaadid aitavad kaitsta teie koodi volitamata rikkumiste ja kompromisside eest kõrgeima valideerimistasemega ning on saadaval kõige vähem $ 249 aastas. Te saate ka kasutage oma EV koodi allkirjastamise sertifikaati suures ulatuses pilves, kasutades eSignerit.

TELLI NÜÜD

Seadistage CircleCI-s projekt, kasutades GitHubiga integreeritud hoidlat

Määratlege kõik keskkonnamuutujad

Kui projekt töötab, klõpsake muutujate määratlemiseks nuppu Projekti sätted ja seejärel Keskkonnamuutujad

Asetage iga muutuja väärtused

kliki Lisa keskkonnamuutuja nuppu, et lisada kõigi projekti jaoks vajalike muutujate nimed ja väärtused.

Oodake, kuni projekt valmib

Klõpsake nuppu Jääb tööruumi

Oodake korraks, kuni tööruumi arhiivi üleslaadimine õnnestub.

Klõpsake allkirja nuppu

Oodake, kuni Remote Docker on seadistatud

Sõltuvalt faili suurusest võib selleks kuluda rohkem kui minut

Oodake, kuni artefaktid on allkirjastatud

Click Esemeid tab

Kui klõpsate Esemeid, näete faili, mille koodiga allkirjastasite edukalt. CircleCI teavitab teid ka edukast koodi allkirjastamisest.

Võite vaadata SSL.com Githubi hoidlast, mis sisaldab dockeri kujutise lähtekoode ja kirjeldab selle kasutamist: https://github.com/SSLcom/ci-images

CircleCI torujuhtme näidis

Tutvuge CircleCI torujuhtme näidisega, mille oleme loonud github.com/SSLcom/codesigner-circleci-sample

Muud CI/CD kaugallkirjastamise integreerimise juhendid

Kas vajate kohandatud lahendusi? 

Tänu oma asjatundlikele teadmistele ja viietärnilisele tugipersonalile oleme valmis teiega koostööd tegema kohandatud lahenduste või ettevõtte tasemel suuremahuliste allkirjastamise allahindluste kallal. Täitke allolev vorm ja me võtame teiega ühendust.

Olge kursis ja turvaline

SSL.com on ülemaailmne küberturvalisuse liider, PKI ja digitaalsed sertifikaadid. Registreeruge, et saada valdkonna uusimaid uudiseid, näpunäiteid ja tooteteateid SSL.com.

SSL.com

Meile meeldiks teie tagasiside

Osalege meie küsitluses ja andke meile teada oma mõtted oma hiljutise ostu kohta.

Privaatsuse ülevaade
SSL.com

See veebisait kasutab küpsiseid, et saaksime pakkuda teile parimat võimalikku kasutajakogemust. Präänikuandmeid salvestatakse teie brauseris ja see täidab selliseid funktsioone nagu teie veebisaidile naasmisel teie äratundmine ja meie meeskonna abistamine, millised veebisaidi jaotised teile kõige huvitavamad ja kasulikud on.

Lisateabe saamiseks lugege meie lehte Präänik ja privaatsusavaldus.

Kolmanda osapoole küpsised

See veebisait kasutab Google Analytics & Statcounter anonüümse teabe, näiteks saidi külastajate arvu ja kõige populaarsemate lehtede, kogumiseks.

Nende küpsiste lubamine aitab meil oma veebisaiti paremaks muuta.

Näita detaile