Pilvekoodi allkirjastamise integreerimine GitLab CI-ga

See on õpetus selle kohta, kuidas GitLab CI-s eSigner CodeSignTooli abil automaatset koodi allkirjastamist teha. 

CodeSignTool on turvaline käsurea utiliit, mis on osa eSignerist: meie pilvekoodi allkirjastamise keskkonnast, mis on kasulik tarkvara väljaandjatele ja arendajatele tänu oma võimele ohutult ja tõhusalt läbi viia ettevõtte koodi allkirjastamist lihtsal viisil.  Allolev töövoo näidis näitab .NET DLL-koodi allkirjastamist GitLab CI-s eSigneriga.

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.

.NET-koodi DLL-i allkirjastamise näite töövoog

Looge yml-fail

Grupeeri tööd etappideks. Kõik ühes etapis olevad tööd peavad olema lõpetatud enne järgmise etapi täitmist.

etapid: - ehitamine - märk
 

Määratlege keskkonnamuutujad globaalselt. Töötaseme atribuut alistab globaalsed muutujad.

  • Näidiste loetavamaks muutmiseks kasutatakse keskkonnamuutujaid. Näidistöövoo ülaltoodud ekraanipildil jäeti PROJECT_NAME, PROJECT_VERSION ja DOTNET_VERSION valikuliselt välja. Allkirjastamine võib siiski jätkuda nende väljajätmistega.  
  • Jaotises ENVIRONMENT_NAME asetage testallkirjastamise jaoks „TEST” ja reaalajas allkirjastamiseks „PROD”.
muutujad: PROJECT_NAME: "HelloWorld" PROJECT_VERSION: "0.0.1" DOTNET_VERSION: "3.1" ENVIRONMENT_NAME: "PROD"
 

Määratlege Ehitamise etapp

Allpool on teie töö määratlus dll artefakti koostamiseks

build-dotnet:

 

  1. Määrake, millises etapis töö jookseb.
  etapp: ehitama

 

  1. Sisestage kasutatava pildi täisnimi. Vajadusel peaks see sisaldama registriosa.
 pilt: mcr.microsoft.com/dotnet/sdk:3.1-bullseye

 

  1. Määrake skriptid, mis peaksid *enne* tööd käima. Saab seadistada globaalselt või töökoha kohta.
before_script: - mkdir -p ${CI_PROJECT_DIR}/artefaktid - mkdir -p ${CI_PROJECT_DIR} / paketid

 

  1. Määratlege Runneri käivitatavad Shelli skriptid. Ehitage DLL-i artefakt
skript: - dotnet build dotnet/${PROJECT_NAME}.csproj -c väljalase - cp dotnet/bin/Release/netcoreapp${DOTNET_VERSION}/${PROJECT_NAME}-${PROJECT_VERSION}.dll ${CI_PROJECT_DIR}/packages/${ PROJECT_NAME}.dll

 

  1. Määrake failide ja kataloogide loend, mis tuleks töö õnnestumise korral manustada.
  • "aegumiskuupäevatribuut võimaldab faili teatud aja möödudes kustutada. Selle kasutamine on vabatahtlik. Seetõttu ei kuvata ülaltoodud töövoo näite ekraanipilt seda atribuuti.
artefaktid: teed: - ${CI_PROJECT_DIR}/packages/HelloWorld.dll expire_in: 5 minutit
 

Määratlege märgistaadium

Allpool on teie töö määratlus dll artefakti allkirjastamiseks

sign-dotnet-artefacts:

 

  1. Määrake, millises etapis töö jookseb.
  etapp: märk

 

  1. Sisestage kasutatava pildi täisnimi. Vajadusel peaks see sisaldama registriosa.
 pilt: docker:19.03.0

 

  1. Määratlege teenused. See sarnaneb atribuudiga „image”, kuid seob määratud teenused konteineriga „image”.
teenused: - dokk:19.03.0-dind

 

  1. Määratlege konkreetsete tööde jaoks keskkonnamuutujad.
  • Ülaltoodud ekraanipildil määrati märgikäsk otse märgiskriptis, mitte keskkonnamuutujate all. Bteised meetodid saavad TravisCI-ga õigesti allkirjastada.
  muutujad: COMMAND: "märk"

 

  1. Määrake skriptid, mis peaksid *enne* tööd käima. Saab seadistada globaalselt või töökoha kohta.
  before_script: - mkdir -p ${CI_PROJECT_DIR}/artefaktid - mkdir -p ${CI_PROJECT_DIR} / paketid

 

  1. Asetage Runneri käivitatud Shelli skriptid. Signaalige .NET dll-i artefakt CodeSignTool Dockeri kujutisega
skript: - docker pull ghcr.io/sslcom/codesigner:latest - docker run -i --rm --dns 8.8.8.8 --võrgu host --volume ${CI_PROJECT_DIR}/packages:/codesign/examples --volume $ {CI_PROJECT_DIR}/artefacts:/codesign/output -e USERNAME=${USERNAME} -e PASSWORD=${PASSWORD} -e CREDENTIAL_ID=${CREDENTIAL_ID} -e TOTP_SECRET=${TOTP_SECRET} -e KESKKONNANIMI=${}ENVIRONMENT_NAME=$ ghcr.io/sslcom/codesigner:latest ${COMMAND} -input_file_path=/codesign/examples/${PROJECT_NAME}.dll -output_dir_path=/codesign/output

Märkus: Windowsi kasutajatele on dockeri pildi tõmbamise käsk järgmine:

docker pull ghcr.io/sslcom/codesigner-win:latest 

  1. Kirjutage skript, mille abil saate määrata failide ja kataloogide loendi, mis tuleks töö õnnestumise korral manustada.
artefaktid: teed: - ${CI_PROJECT_DIR}/artifacts/${PROJECT_NAME}.dll expire_in: 1 päeva

 

  1. Määrake varasemate etappide töönimede loend, millest artefakte tuleks laadida.
sõltuvused: - build-dotnet

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

Käivitage ehitusetapp

Loo hoidla

Vaadake Gitlabi käsurea juhiseid, nagu on näha alloleval ekraanipildil

Lükake oma kaust

Tehke seda klõpsates terminal menüüs, millele järgneb Uus terminal.

Tippige oma terminali tõukeskript, et projekti lükata 

Klõpsake nuppu Ehita

Pärast torujuhtme käivitamist jätkake ehitamist

Kontrollige, kas ehitamine on edukas  

Käivitage märgi etapp

Jätkake artefakti allkirjastamisega

Kinnitage, kas koodi allkirjastamine on edukas

Nüüd saate allkirjastatud faili alla laadida

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

Näidis Gitlab CI Pipeline

Vaadake meie loodud Gitlab CI torujuhtme näidist github.com/SSLcom/codesigner-gitlabci-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