SSL.com

Cloud Code Signing-integration med GitLab CI

Det här är en handledning om hur man gör automatiserad kodsignering på GitLab CI med eSigner CodeSignTool.  CodeSignTool är ett säkert kommandoradsverktyg som ingår i eSigner: vår molnkodssigneringsmiljö som gynnar programvaruutgivare och utvecklare med sin förmåga att säkert och effektivt utföra företagskodsignering på ett okomplicerat sätt.  Exempel på arbetsflödet nedan visar en .NET DLL-kod som signeras på GitLab CI med eSigner.

SSL.com s EV Kodsignering certifikat hjälper till att skydda din kod från obehörig manipulering och kompromissa med den högsta nivån av validering, och är tillgängliga för så lite som $ 249 per år. Du kan också använd ditt EV Code Signing-certifikat i stor skala i molnet med eSigner.

BESTÄLL NU

Miljövariabler

ingångar

.NET-kod DLL-signeringsexempel arbetsflöde

Skapa en yml-fil

Gruppera jobb i etapper. Alla jobb i ett steg måste slutföras innan nästa steg utförs.

stadier: - bygga - tecken
 

Definiera miljövariabler globalt. Jobbnivåegenskap åsidosätter globala variabler.

variabler: PROJECT_NAME: "HelloWorld" PROJECT_VERSION: "0.0.1" DOTNET_VERSION: "3.1" ENVIRONMENT_NAME: "PROD"
 

Definiera Byggscen

Nedan är definitionen av ditt jobb att bygga dll-artefakter

build-dotnet:

 

  1. Definiera i vilket stadium jobbet ska köras.
  skede: bygga

 

  1. Ange det fullständiga namnet på bilden som ska användas. Den bör innehålla registerdelen om det behövs.
 bild: mcr.microsoft.com/dotnet/sdk:3.1-bullseye

 

  1. Definiera skript som ska köras *före* jobbet. Kan ställas in globalt eller per jobb.
före_skript: - mkdir -p ${CI_PROJECT_DIR}/artefakter - mkdir -p ${CI_PROJECT_DIR}/paket

 

  1. Definiera skalskript som körs av löparen. Bygg DLL-artefakt
skript: - dotnet build dotnet/${PROJECT_NAME}.csproj -c Release - cp dotnet/bin/Release/netcoreapp${DOTNET_VERSION}/${PROJECT_NAME}-${PROJECT_VERSION}.dll ${CI_PROJECT_DIR}/packages/${ PROJECT_NAME}.dll

 

  1. Ange en lista över filer och kataloger som ska bifogas jobbet om det lyckas.
artefakter: sökvägar: - ${CI_PROJECT_DIR}/packages/HelloWorld.dll expire_in: 5 minuter
 

Definiera skyltstadiet

Nedan är definitionen av ditt jobb att signera dll-artefakt

sign-dotnet-artefakter:

 

  1. Definiera i vilket stadium jobbet ska köras.
  scen: tecken

 

  1. Ange det fullständiga namnet på bilden som ska användas. Den bör innehålla registerdelen om det behövs.
 bild: docker:19.03.0

 

  1. Definiera tjänster. Detta liknar egenskapen `image`, men kommer att länka de angivna tjänsterna till `image`-behållaren.
tjänster: - hamnarbetare:19.03.0-dind

 

  1. Definiera miljövariabler för specifika jobb.
  variabler: COMMAND: "tecken"

 

  1. Definiera skript som ska köras *före* jobbet. Kan ställas in globalt eller per jobb.
  före_skript: - mkdir -p ${CI_PROJECT_DIR}/artefakter - mkdir -p ${CI_PROJECT_DIR}/paket

 

  1. Placera Shell-skript som körs av löparen. Signera .NET dll-artefakt med CodeSignTool Docker Image
skript: - docker pull ghcr.io/sslcom/codesigner:latest - docker run -i --rm --dns 8.8.8.8 --nätverksvärd --volym ${CI_PROJECT_DIR}/paket:/codesign/exempel --volym $ {CI_PROJECT_DIR}/artifacts:/codesign/output -e USERNAME=${USERNAME} -e PASSWORD=${PASSWORD} -e CREDENTIAL_ID=${CREDENTIAL_ID} -e TOTP_SECRET=${TOTP_SECRET} -e ENVIRONMENT_NAME=NAME={ENVIRONMENT_NAME=NAME} ghcr.io/sslcom/codesigner:latest ${COMMAND} -input_file_path=/codesign/examples/${PROJECT_NAME}.dll -output_dir_path=/codesign/output

 

  1. Skriv skriptet som kan användas för att ange en lista över filer och kataloger som ska bifogas jobbet om det lyckas.
artefakter: sökvägar: - ${CI_PROJECT_DIR}/artifacts/${PROJECT_NAME}.dll expire_in: 1 dagar

 

  1. Ange en lista över jobbnamn från tidigare stadier från vilka artefakter ska laddas.
beroenden: - build-dotnet

SSL.com s EV Kodsignering certifikat hjälper till att skydda din kod från obehörig manipulering och kompromissa med den högsta nivån av validering, och är tillgängliga för så lite som $ 249 per år. Du kan också använd ditt EV Code Signing-certifikat i stor skala i molnet med eSigner.

BESTÄLL NU

Initiera byggstadiet

Skapa ett arkiv

Se kommandoradsinstruktionerna på Gitlab som ses i skärmdumpen nedan

Tryck på din mapp

Gör detta genom att klicka terminal på menyn, följt av Ny terminal.

Skriv push-skriptet på din terminal för att driva projektet 

Klicka på knappen Bygg

Efter att ha utlöst rörledningen, fortsätt att bygga

Kontrollera om bygget är framgångsrikt  

Initiera skyltstadiet

Fortsätt för att signera artefakten

Bekräfta om kodsigneringen lyckades

Du kan nu ladda ner den signerade filen

Du kan hänvisa till SSL.com Github repository som innehåller källkoderna för docker-bilden och beskriver hur man använder den: https://github.com/SSLcom/ci-images 

Prov på Gitlab CI Pipeline

Kolla in exempel på Gitlab CI-pipeline vi har skapat på github.com/SSLcom/codesigner-gitlabci-sample

Andra CI/CD-integrationsguider för fjärrsignering

Behöver du anpassade lösningar? 

Med vår expertkunskap och femstjärniga supportpersonal är vi redo och villiga att arbeta med dig på skräddarsydda lösningar eller rabatter på stora volymer av signering på företagsnivå. Fyll i formuläret nedan så hör vi av oss.

Avsluta mobilversionen