Hoppa till innehåll

47-dagarscertifikat kommer. Är du redo?

Agera nu →

Hur integrerar man GitLab CI/CD-pipeline med kodsignering?

rörledningsautomation

GitLab är en webbaserad Git-repositoryhanterare som tillhandahåller källkodshantering, pipelineautomatisering för kontinuerlig integration/kontinuerlig utveckling (CI/CD) och flera andra funktioner för mjukvaruutveckling. Det är en omfattande DevOps-plattform som gör det möjligt för experter att utföra allt projektarbete, från planering och hantering av källkod till övervakning och säkerhet.

Team kan samarbeta och skapa bättre programvara som ett resultat. GitLab erbjuder omfattande DevOps-funktioner i varje steg av programvaruutvecklingens livscykel. Dess kontinuerliga integrationsfunktioner (CI) automatiserar byggandet och testningen av kod för utvecklingsteam. Plattformen innehåller också säkerhetsfunktioner som tillhandahåller skanningsresultat inom den inbyggda CI-pipelinen/arbetsflödet, och en instrumentpanel som hjälper säkerhetspersonal att hantera sårbarheter.

Samdesign

Kodsignering är en procedur som verifierar upphovsmannens legitimitet och originaliteten och äktheten hos digital information, särskilt programkod. Den säkerställer också att informationen inte är skadlig kod. Dessutom garanterar den att denna information inte har ändrats, förfalskats eller annullerats efter att ha blivit digitalt signeradDen digitala signaturen skapas med en privat nyckel som endast är tillgänglig för programvarans utgivare. När programvaran laddas ner och installeras kontrolleras den digitala signaturen mot den publika nyckeln för att bekräfta att den matchar och att programvaran inte har ändrats. Kodsignering är viktigt för att säkerställa säkerheten för programvaruapplikationer, eftersom det hjälper till att förhindra spridning av skadlig kod och annan skadlig programvara.

Krypteringskonsulting har en kodsigneringslösning, “CodeSign Secure”, vilket kan hjälpa dig med manipulationssäker förvaring av nycklarna och fullständig insyn och kontroll över kodsigneringsaktiviteter. De privata nycklarna till kodsigneringscertifikatet kan lagras i en HSM för att eliminera riskerna i samband med stulna, skadade eller missbrukade nycklar.

Integration av GitLab med kodsignering

För att komma igång med detta behöver du först ett GitLab-konto och en Runner, där du har signtool och ECSigning KSP installerade och konfigurerade. Här är några förkunskapskrav:

  1. Självhostad Runner som har ECSigning KSP, Signtool installerat och konfigurerat. Denna runner bör ha administratörsbehörighet.
  2. Ett GitLab-konto.

Lösning för företagskodsignering

Få en lösning för alla dina behov av kodsignering och kryptografi för mjukvara med vår kodsigneringslösning.

För att konfigurera ECSigningKSP och Signtool, följ följande steg:

Ladda ner Windows SDK: (developer.microsoft.com/en-us/windows/downloads/windows-10-sdk/)

Du kan välja att endast installera Windows SDK-signeringsverktygen för skrivbordsappar.

Öppna filen winsdksetup.exe. Kom ihåg standardsökvägen som visas i installationssökvägen, eftersom det kommer att vara till hjälp när du kör dessa kommandon från kommandotolken.

Windows SDK-hem

På sidan Sekretess för Windows Kits är båda alternativen för att tillåta Microsoft att samla in insikter okej. Klicka på Nästa.

sekretess för Windows SDK

Acceptera licensavtalet

licensavtal för Windows SDK, sida 681cf368741e8

Avmarkera alla funktioner utom Windows SDK-signeringsverktyg för skrivbordsappar, välj sedan installera.

Windows SDK-funktion

När du tillfrågas om du vill tillåta att den här appen gör ändringar väljer du ja.

kontroll av Windows användarkonto
Windows SDK slutgiltig

Klicka på Windows sökfält i aktivitetsfältet och skriv "Redigera systemmiljövariablerna" och välj alternativet med samma namn på kontrollpanelen.

redigera systemmiljövariabel

Klicka miljövariabler.

miljövariabler modala

Innan du redigerar variabellistan, navigera till var Windows SDK är installerat med hjälp av Utforskaren. Du måste kopiera sökvägen till mappen som innehåller signtool-applikationen. Standardsökvägen är C:\Programfiler (x86)\Windows-paket\10\bin\10.0.22621.0\x64, Se skärmdumpen nedan. Se till att högerklicka och kopiera sökvägen som visas. Du kan också se signtool-applikationen längst ner i fillistan, det är det kommandot du kommer att köra.

installationsväg för signtool

I listan Systemvariabler klickar du på ny. Skriv sedan sökväg som variabelnamn och kopiera och klistra in den ovannämnda sökvägen. Klicka sedan på OKmiljö variabler fönster och system egenskaper fönster.

lägg till ny systemvariabel

För att testa installationen, öppna kommandotolken och skriv signtool, så bör utdata vara som visas nedan.

signtool-kommandotolken

Standardinstallationsplatsen för signtool är till exempel: C:\Programfiler (x86)\Windows-paket\10\bin\10.0.22621.0\x64

Lösning för företagskodsignering

Få en lösning för alla dina behov av kodsignering och kryptografi för mjukvara med vår kodsigneringslösning.

För att konfigurera KSP, följ stegen nedan:

Om du använder vår lösning kan du ladda ner KSP med hjälp av stegen nedan:

  • Logga in Kodsignera säkert.
  • Navigera till: Arkiv för signeringsverktyg.

    codesign-sida för verktyg för säkra signering
  • Ladda ner “Krypteringskonsulting CNG-SigningKSP”
  • Installera klientverktygen med hjälp av .MSI-installationsprogrammet. .MSI-installationsprogrammet automatiserar mycket av konfigurationen. Navigera till var den nedladdade filen är sparad och starta installationsprogrammet.

    starta .msi-installationsprogrammet 681cf96b947ce
  • Klicka på Nästa när installationsguiden visas.

    ec-signering ksp-installation hem
  • Klicka på nästa.

    installation av ec-signering av ksp-installationsmapp
  • I Användarnamn fält, skriv admin.
  • I Koda fältet, kopiera koden från Postman API-arkiv. Klicka på Hämta inloggningstoken api och kopiera koden från Kropp.

    Ladda ner PostMan härifrån länkNär den är nedladdad klickar du på hoppa över-knappen längst ner i fönstret. Lägg till en ny samling med hjälp av plustecknet bredvid samlingarna på instrumentpanelen.

    GetLoginToken API (http://codesignsecureapi.encryptionconsulting.com/api/auth/GetLoginToken): Detta är det viktigaste API:et, eftersom det ger dig en Bärartoken För att använda med resten av API:erna, vad som ska finnas i brödtexten visas nedan. Koden fungerar som ett lösenord för att få en Bearer-token, användarfältet är användarnamnet och identitetstypsfältet anger användartypen. Klicka Skicka för att generera en utdata som har Bearer-token listad längst ner. Kopiera denna token för användning.

    brevbärartoken-API
  • Ändra Identitet Typ till 1.
  • Lämna API-basURL det samma.
  • Klicka på nästa.

    ec-signering ksp-inställningar användarautentiseringsinformation
  • Klicka på nästa.

    ec-signering ksp installation installationsbekräftelse
  • Du får då ett meddelande om att programmet kommer att göra ändringar på din dator, klicka på ja.

    msi-installation av användarkontokontroll
  • Installationen är nu klar.

    EC-signering KSP-installation klar

Följ stegen nedan:

  • Skapa ett GitLab-konto. Gå till att skapa ett nytt tomt projekt.
  • Scrolla ner till inställningar -> CI/CD och navigera till runner. Expandera det.

    git lab-löpare
  • Klicka på ny projektledare.

    Ny projektledare
  • Klicka på valfri plattform och ange en tagg för löparen. Ange timeout-sekunder och klicka på skapa löpare.

    Plattformsval för att skapa Runner
  • Kopiera den visade tokenen, vi behöver den för att registrera löparen. Nu ska vi först installera Gitlab-löparen på vår enhet.
  • Installera GitLab runner på din enhet med hjälp av länkDen här länken är för Windows. Du kan titta på den här länk för att se steg för att installera det på din specifika enhet.
  • Du kan följa dokumentation för att ställa in din löpare och registrera den enligt din enhet.

För att registrera en löpare i Windows, kör följande kommando:

  1. .\gitlab-runner.exe-register
  2. Ange din GitLab-instans-URL (även känd som gitlab-ci-koordinator-URL). Exempel: https://gitlab.com
  3. Ange den token du fick för att registrera löparen. Du kommer åt den från inställningar -> CI/CD -> Expandera -> Projektlöpare. Under projektlöpare hittar du token.
  4. Ange en beskrivning för löparen. Du kan ändra detta värde senare i GitLabs användargränssnitt. Exempel: Enhet
  5. Ange taggarna som är associerade med runnern, separerade med kommatecken. Du kan ändra detta värde senare i GitLabs användargränssnitt. Exempel: WindowsRunner
  6. Ange eventuell valfri underhållsanteckning för löparen.
  7. Tillhandahåll runner-exekutorn. Vi kör detta i Shell.

När löparen är installerad och konfigurerad, navigera till tjänster på din enhet, scrolla ner till GitLab Runner och ställ in logga in som administratör. Ange administratörslösenordet här.

fönstertjänster gitlab modal

När detta är klart, gå till ditt projekt. Du kan behöva byta namn på .ym-filen. Byt namn på den till .gitlab-ci.yml. Kör skriptet nedan för att utföra samdesign.

 job1: taggar: - WindowsRunner // Taggen du angav när du konfigurerade runner-skriptet: - signtool sign /csp "Krypteringskonsulttjänst för nyckellagring" /kc evcodesigning /fd SHA256 /f "C:\Användare\Administratör\Skrivbord\FörTesting\evcodesigning.pem" /tr http://timestamp.digicert.com /td SHA256 "C:\Användare\Administratör\Skrivbord\FörTesting\AgentService.exe"

Om du klickar på CI/CD -> jobb ser du att det har signerats.

gitlab-jobb

Du måste ändra kommandot enligt dina variabler

  • kc evcodesigning: ersätt evcodesiging med ditt nyckelnamn
  • f “C:\Users\Administrator\Desktop\ForTesting\evcodesigning.pem”: ersätt platsen med platsen för din .pem-fil för att utföra kodsignering. Du kan få detta genom att använda signering KSP. Från kommandotolken, gå till katalogen som innehåller SigningKSP. Använd kommandot ECGetCert.ece för att hämta pem-filen för ditt certifikat. 
  • tr http://timestamp.digicert.comtidsstämplingsserver
  • td SHA256 “C:\Användare\Administratör\Skrivbord\FörTesting\AgentService.exe”: platsen för den fil du vill signera.

Slutsats

Artikeln ovan demonstrerar processen för att integrera din GitLab CI/CD-pipeline med codesigning. Det är en mycket enkel process eftersom du bara behöver konfigurera en runner, ansluta den till ett GitLab-konto och bygga pipelinen för att köra jobbet. Codesigning är avgörande i dagens läge då skadlig programvara och filer fortsätter att växa. Du kan kontakta oss på [e-postskyddad] för all hjälp gällande vår kodsigneringslösning.