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:
- Självhostad Runner som har ECSigning KSP, Signtool installerat och konfigurerat. Denna runner bör ha administratörsbehörighet.
- Ett GitLab-konto.
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.

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.

Acceptera licensavtalet

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

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


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

Klicka miljövariabler.

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.

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å OK på miljö variabler fönster och system egenskaper fönster.

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

Standardinstallationsplatsen för signtool är till exempel: C:\Programfiler (x86)\Windows-paket\10\bin\10.0.22621.0\x64
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.

- 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.

-
Klicka på Nästa när installationsguiden visas.

-
Klicka på nästa.

- 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.

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

-
Klicka på nästa.

-
Du får då ett meddelande om att programmet kommer att göra ändringar på din dator, klicka på ja.

-
Installationen är nu 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.

-
Klicka på ny projektledare.

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

- 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:
- .\gitlab-runner.exe-register
- Ange din GitLab-instans-URL (även känd som gitlab-ci-koordinator-URL). Exempel: https://gitlab.com
- 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.
- Ange en beskrivning för löparen. Du kan ändra detta värde senare i GitLabs användargränssnitt. Exempel: Enhet
- Ange taggarna som är associerade med runnern, separerade med kommatecken. Du kan ändra detta värde senare i GitLabs användargränssnitt. Exempel: WindowsRunner
- Ange eventuell valfri underhållsanteckning för löparen.
- 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.

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.

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.
