Cloud Code Signing -integraatio GitLab CI:n kanssa

Tämä on opetusohjelma automaattisen koodin allekirjoituksen tekemiseen GitLab CI:ssä eSigner CodeSignToolin avulla. 

CodeSignTool on suojattu komentorivityökalu, joka on osa eSigneriä: pilvikoodin allekirjoitusympäristöämme, joka hyödyttää ohjelmistojen julkaisijoita ja kehittäjiä, sillä se pystyy suorittamaan yrityksen koodin allekirjoittamisen turvallisesti ja tehokkaasti mutkattomasti.  Alla oleva esimerkkityönkulku näyttää .NET DLL -koodin, jota allekirjoitetaan GitLab CI:ssä eSignerillä.

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.

.NET-koodin DLL-allekirjoituksen esimerkkityönkulku

Luo yml-tiedosto

Ryhmittele työt vaiheisiin. Kaikki yhden vaiheen työt on suoritettava ennen kuin seuraava vaihe suoritetaan.

vaiheet: - rakentaa - merkki
 

Määrittele ympäristömuuttujat maailmanlaajuisesti. Työtason ominaisuus ohittaa globaalit muuttujat.

  • Ympäristömuuttujia käytetään näytteiden luettavuuden parantamiseksi. Esimerkkityönkulun yllä olevassa kuvakaappauksessa PROJECT_NAME, PROJECT_VERSION ja DOTNET_VERSION jätettiin valinnaisesti pois. Allekirjoitus voi silti jatkua näillä puutteilla.  
  • Aseta kohtaan ENVIRONMENT_NAME "TEST" testiallekirjoitusta varten ja "PROD" live-allekirjoitusta varten.
muuttujat: PROJECT_NAME: "HelloWorld" PROJECT_VERSION: "0.0.1" DOTNET_VERSION: "3.1" ENVIRONMENT_NAME: "PROD"
 

Määrittele Rakenna Stage

Alla on määritelmä työstäsi dll-artefaktin rakentamiseen

build-dotnet:

 

  1. Määritä, missä vaiheessa työ suoritetaan.
  vaihe: rakentaa

 

  1. Aseta käytettävän kuvan koko nimi. Sen tulee sisältää tarvittaessa rekisteriosa.
 kuva: mcr.microsoft.com/dotnet/sdk:3.1-bullseye

 

  1. Määrittele komentosarjat, jotka tulee suorittaa *ennen* työtä. Voidaan asettaa maailmanlaajuisesti tai työkohtaisesti.
before_script: - mkdir -p ${CI_PROJECT_DIR}/artefacts - mkdir -p ${CI_PROJECT_DIR}/paketit

 

  1. Määritä Runnerin suorittamat Shell-skriptit. Rakenna DLL-artefaktti
komentosarja: - dotnet build dotnet/${PROJECT_NAME}.csproj -c julkaisu - cp dotnet/bin/Release/netcoreapp${DOTNET_VERSION}/${PROJECT_NAME}-${PROJECT_VERSION}.dll ${CI_PROJECT_DIR}/packages/${ PROJECT_NAME}.dll

 

  1. Määritä luettelo tiedostoista ja hakemistoista, jotka tulee liittää työhön, jos se onnistuu.
  • "expire_in'-ominaisuuden avulla tiedosto voidaan poistaa tietyn ajan kuluttua. Sen käyttö on valinnaista. Tästä syystä yllä olevan esimerkin työnkulun kuvakaappaus ei näytä tätä ominaisuutta.
artefaktit: polut: - ${CI_PROJECT_DIR}/packages/HelloWorld.dll expire_in: 5 minuuttia
 

Määritä merkkivaihe

Alla on määritelmä työstäsi dll-artefaktin allekirjoittamiseen

sign-dotnet-artefacts:

 

  1. Määritä, missä vaiheessa työ suoritetaan.
  vaihe: merkki

 

  1. Aseta käytettävän kuvan koko nimi. Sen tulee sisältää tarvittaessa rekisteriosa.
 kuva: docker:19.03.0

 

  1. Määrittele palvelut. Tämä on samanlainen kuin "image" -ominaisuus, mutta linkittää määritetyt palvelut "image" -säilöön.
palvelut: - telakka:19.03.0-dind

 

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

 

  1. Määrittele komentosarjat, jotka tulee suorittaa *ennen* työtä. Voidaan asettaa maailmanlaajuisesti tai työkohtaisesti.
  before_script: - mkdir -p ${CI_PROJECT_DIR}/artefacts - mkdir -p ${CI_PROJECT_DIR}/paketit

 

  1. Aseta Runnerin suorittamat Shell-skriptit. Allekirjoita .NET dll -artefaktti CodeSignTool Docker -kuvalla
komentosarja: - Docker pull ghcr.io/sslcom/codesigner:latest - docker run -i --rm --dns 8.8.8.8 --verkkoisäntä --volume ${CI_PROJECT_DIR}/packages:/codesign/examples --volume $ {CI_PROJECT_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 YMPÄRISTÖNIMI=${}ENVIRONMENT_NAME=$ ghcr.io/sslcom/codesigner: uusin ${COMMAND} -input_file_path=/codesign/examples/${PROJECT_NAME}.dll -output_dir_path=/codesign/output

 

  1. Kirjoita komentosarja, jonka avulla voit määrittää luettelon tiedostoista ja hakemistoista, jotka tulee liittää työhön, jos se onnistuu.
artefaktit: polut: - ${CI_PROJECT_DIR}/artifacts/${PROJECT_NAME}.dll expire_in: 1 päivää

 

  1. Määritä luettelo aiempien vaiheiden töiden nimistä, joista artefaktit tulee ladata.
riippuvuudet: - build-dotnet

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

Aloita rakennusvaihe

Luo arkisto

Katso Gitlabin komentorivin ohjeita alla olevan kuvakaappauksen mukaisesti

Työnnä kansiota

Tee tämä napsauttamalla terminaali valikossa ja sen jälkeen Uusi terminaali.

Työnnä projekti kirjoittamalla push-skripti terminaaliin 

Napsauta Build-painiketta

Liukulinjan käynnistämisen jälkeen jatka rakentamista

Tarkista, onko rakentaminen onnistunut  

Aloita merkkivaihe

Jatka artefaktin allekirjoittamista

Varmista, että koodin allekirjoitus onnistui

Nyt voit ladata allekirjoitetun tiedoston

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 

Näyte Gitlab CI Pipeline

Katso näyte Gitlab CI -putkista, jonka olemme luoneet github.com/SSLcom/codesigner-gitlabci-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.