Hoppa till innehåll

Webinar: Registrera dig för vårt kommande webbinarium

Registrera nu

Hur integrerar man Azure DevOps CI/CD-pipeline med kodsignering?

Integrera Azure DevOps CI/CD-pipeline med kodsignering

Azure DevOps är en kraftfull molnbaserad plattform som integrerar människor, processer och verktyg för att effektivisera programvaruutveckling och möjliggöra sömlöst samarbete genom hela utvecklingscykeln. Från idé till driftsättning och vidare, Azure DevOps erbjuder ett komplett utbud av tjänster som täcker hela programvaruutvecklingslivscykeln. Det samlar kraftfulla tekniker som Azure Boards, Azure Repos, Azure Pipelines, Azure Test Plans och Azure Artifacts för att stärka utvecklingsteam och låta dem uppnå en snabbare time-to-market, högre produktivitet och högre kundnöjdhet. Genom att integrera Azure i sina CI/CD-arbetsflöden kan organisationer accelerera programvaruleverans, förbättra samarbetet och upprätthålla höga kvalitetsstandarder under hela utvecklingslivscykeln.

Kodsignering

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 signerad. De digital signatur skapas med en privat nyckel som endast är tillgänglig för programvaruutgivaren. 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 modifierats. 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 synlighet och kontroll över Kodsignering aktiviteter. 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 Azure DevOps för samdesign

För att komma igång med detta behöver du först ett Azure-konto och ett system där du har signtool och ECSigningKSP installerade och konfigurerade. Lista ner förutsättningarna.

  1. Ett system som har ECSigning KSP, Signtool installerat och konfigurerat. Denna runner bör ha administratörsbehörighet.
  2. Azure-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

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.

    msi-installationsprogrammet
  • 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

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ölj stegen nedan för att konfigurera med Azure Devops:

  1. Navigera till dev.azure.com och logga in med ditt Microsoft-konto eller så kan du börja gratis med ditt GitHub-konto också.
  2. Ange detaljerna enligt anvisningarna

    Azure DevOps Sing In
  3. Du kommer att bli ombedd att skapa en organisation om du inte redan har gjort det. Skapa en organisation och kom igång med projektet.
  4. Om du redan har ett projekt där du vill bygga pipelinen, navigera till pipelines. Om inte, skapa ett enkelt projekt först. Ange nödvändig information för att fortsätta.

    Skapa projekt
  5. När ett projekt har skapats, navigera till användarinställningarna längst upp till vänster på skärmen och klicka på personlig åtkomsttoken. På nästa sida klickar du på "Ny token". I dialogrutan som visas anger du nödvändig information, såsom namn på token, organisationsnamn (den organisation du skapade/åtkom tidigare). Ange utgångsdatum och omfattning. Jag har ställt in omfattningen till fullständig åtkomst.

    Azure DevOps-användarinställningar
    Skapa personlig åtkomsttoken

    Klicka på skapa och kopiera token någonstans eftersom du inte kommer att kunna se token igen.

  6. När vi är klara med att hämta en token behöver vi konfigurera en självhostad runner. Det här är en maskin där Signtool och ECSigningKSP är installerade och konfigurerade. För att göra det, gå tillbaka till sidan Kodsammanfattning och längst ner till höger på skärmen ser du Projektinställningar, klicka på den.

    Inställningar för Azure DevOps-projekt

    Under Pipelines ser du Agentpooler. Klicka på den och klicka sedan på standard.

    Azure DevOps Agentpooler

    Klicka på ny agent längst upp till vänster.

    Azure DevOps Ny agent

    Hämta agenten enligt ditt operativsystem. Jag fortsätter med Windows. Ladda ner agenten, extrahera den till mappen "C:\agents".

    Du kan också följa detta dokumentation för mer hjälp om detta

    Azure Windows-agent
  7. När du har extraherat filerna, navigera till mappen där du extraherade dem från cmd och kör .\config.cmd.

    Azure Pipeline CMD

    Nu kommer serverns URL att vara https://dev.azure.com/<your_organzation_name Tryck bara enter för PAT på autentiseringstypen och ange token som kopierades tidigare på nästa fråga.

    När agenten är registrerad, för Agent Pool, eftersom vi har den som standard, tryck på Enter. Om du vill ge din agent något namn kan du namnge dem men tryck på Enter för att den ska namnges som KLIENT.

    När agenten har lagts till kan du lämna arbetsmappen som standard eller ändra den efter eget tycke. För att köra agent som en tjänst, ange J som i ja. För användarkontot som ska användas för tjänsten se till att du ställer in detta som administratör, detta är viktigt eftersom du behöver administratörsbehörighet för att utföra kodsignering. Ange lösenordet för ditt administratörskonto på din dator.

    Eftersom vi har ställt in detta som en tjänst kommer agenten att köras automatiskt. Om vi ​​inte hade ställt in detta som en tjänst skulle vi behöva köra agenten manuellt.

    Navigera till services.msc och scrolla ner till Azure Pipeline Agent för att se att du har valt Logga in som administratör. Om du inte gjorde det kan du ändra det. Klicka bara på logga in så visas en dialogruta; navigera till logga in, ställ in det till Administratör och ange lösenordet för detsamma och starta om tjänsten. När detta är gjort, gå tillbaka till Azure DevOps för att bygga pipelinen.

  8. Klicka på pipelines för att komma igång.

    Azure Pipeline

    Klicka på Skapa pipeline på följande sida.

  9. På nästa sida, i avsnittet Anslut, välj var din kod finns. Här finns min kod i GitHub och jag fortsätter med det. Du behöver administratörsbehörighet för ditt repository för att ge åtkomst.

    Ange kod
  10. Välj det arkiv där du har din kod.

    Kodförråd
  11. Om du inte redan har .yml-filen i ditt repository klickar du på Starter Pipeline i konfigurationsavsnittet. Om du har det klickar du på Existing Azure Pipeline. För startpipelinen kan du behöva skapa en ny gren eller commit på själva huvudgrenen, det är ditt val.

    Rörledningskonfiguration
  12. Skriv följande skript i editorn

    trigger:
    - <your_branch_name>

    pool:
      name: <your_pool_name> #In this documentation it’s set as Default
    variables:
      varible_name: variable_value

    steps:
    - script: |
      signtool sign /csp "Encryption Consulting Key Storage provider" /kc <Key_name> /fd <hashing algorithm> /f <certificate location> /tr <time stamping server> /td SHA256 <file path>

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.

Vänligen ersätt variablerna som anges under En kort beskrivning av den förväntade variabeln ges nedan.

: Detta hänvisar till den kryptografiska nyckel som används för att signera koden. Exempel – evcodesigning

Du måste ange namnet på hashalgoritmen, till exempel SHA256, SHA384 eller SHA512. Det måste vara ett av dessa tre värden.

Ett exempel på vad som kan skrivas in i det här fältet är C:\testing.pem. Certifikatet.pem filen MÅSTE inkluderas i denna indata. Du kan generera en pem-fil av certifikatet för samdesign, om du har nyckelnamnet med hjälp av ECSigningKSP. Följ kommandona nedan för att göra det:

På den enhet där du har ECSigningKSP installerat och konfigurerat, navigera till mappen för ECSigningKSP, som vanligtvis finns i "C:\Program Files\Encryption Consulting\SigningKSP".

I kommandotolken, gå till den här katalogen.

Använd sedan följande kommando för att hämta pem-filen för certifikatet.

ECGetCert.exe  (exempel: ECGetCert.exe evcodesigning)

Ange platsen för det sparade certifikatet.

: En tidsstämpelserver ger bevis på att en digital signatur utfördes vid en specifik tidpunkt, vilket möjliggör verifiering i framtiden att en fil signerades vid en viss tidpunkt. Den vi vanligtvis använder är http://timestamp.digicert.com

Här anger du sökvägen till den fil som du vill signera. Exempel C:\ \ Se till att du har angett ett filnamn med rätt filändelse.

Mitt manus var:

Azure-skript

trigger:
- azure-pipelines1

pool:
  name: Default
variables:
  EC_Client_Auth: C:\Users\riley\Documents\EncryptionConsulting\testClient.pfx

steps:
- script: |
  signtool sign /csp "Encryption Consulting Key Storage provider" /kc evcodesigning /fd SHA256 /f C:\\Users\\Administrator\\Desktop\\ForTesting\\evcodesigning.pem /tr http://timestamp.digicert.com /td SHA256 C:\\Users\\Administrator\\Desktop\\ForTesting\\AgentService.exe

När du klickar på spara och kör får du upp en branch-tagg. Se till att namnet som anges här och under triggern i skriptet är samma innan du kör skriptet.

När bygget har slutförts ser du att din fil har signerats.

Filen har signerats

Slutsats

Artikeln ovan demonstrerar processen för att integrera din Azure Devops CI/CD-pipeline med codesigning. Det är en mycket enkel process eftersom du bara behöver konfigurera en runner, ansluta den till ett Azure Devops-konto och bygga pipelinen för att köra jobbet. Codesigning är avgörande i dagens läge, som skadlig programvara, fortsätter filer att växa. Kodsignering skapar förtroende mellan programvaruutgivare och slutanvändare och försäkrar dem om att koden inte har komprometterats eller ändrats. Du kan kontakta oss på info@encryptionconsulting.com för all hjälp gällande vår kodsigneringslösning.