Guide för integration av Azure DevOps

Att integrera CodeSign Secure med Azure DevOps förbättrar dina CI/CD-pipelines genom att automatisera signeringsprocessen. Detta säkerställer att varje build signeras både säkert och effektivt, vilket minskar manuella fel och stärker tillförlitligheten i din programvaruleveranskedja.

Konfigurera CodeSign Secure KSP

Encryption Consulting Key Storage Provider (KSP) för Windows är en programvarukomponent som utökar Microsoft Cryptography API: Next Generation (CNG)-ramverket. Dess primära syfte är att göra det möjligt för Windows-applikationer, som signtool.exe, att interagera sömlöst med kryptografiska nycklar och certifikat som lagras i en HSM.

Steg:

  1. Ladda ner EC KSP

    • Logga in på CodeSign Secure-portalen och navigera till avsnittet Signeringsverktyg för att ladda ner "EC KSP för Windows".

      Rutt för signeringsverktyg
    • Extrahera zip-filen för att hämta filen "Setup.msi".
  2. Installera EC KSP
    • Kör installationsprogrammet "Setup.msi" med administratörsbehörighet.

      Installationsprogrammet
    • Följ installationsguidens anvisningar på skärmen.

      1. Godkänn slutanvändarlicensavtalet.
      2. Välj installationskatalogen (standard är C:\Program Files\Encryption Consulting\SigningKSP).
      3. Välj om du vill installera KSP för alla eller bara för den aktuella användaren.
      Installationsmapp
    • Ange de uppmanade uppgifterna, till exempel:

      1. AnvändarnamnAnvändarnamnet/e-postadressen som du använder för att logga in på CodeSign Secure-portalen.
      2. Koda: Den hemliga kod som du angav när du konfigurerade CodeSign Secure-lösningen.
      3. IdentitetstypBehåll detta fält som standard (2)
      4. CodeSign säker URLURL:en för att komma åt portalen (Kom ihåg att lägga till "/api/" i slutet av URL:en)
      API-användarautentiseringsinformation
    • Klicka på Nästa och bekräfta installationen.

      Installera KSP
  3. Konfigurera inställningarna för registerredigeraren
    • Öppna Registereditorn och navigera till katalogen HKEY_CURRENT_USER>Programvara>Krypteringskonsultation>SigningKSP.

      Registereditorn
    • Öppna nu CodeSign Secure-portalen och navigera till Systeminställningar>Användare. Välj rullgardinsmenyn till höger för att "Generera API-nyckel".

      Skapa API-nyckel
    • Skapa en token för ditt konto genom att ange ett namn och giltighetsperiod. Kom ihåg att kopiera token eftersom den bara visas en gång.

      Skapa API-nyckel
    • Lägg till denna token i fältet "ectoken" i Registereditorn.

      ektoken

Konfigurera P12-autentiseringscertifikat

Att konfigurera ett P12-certifikat innebär att du konfigurerar dina miljövariabler för att autentisera din klientdator med Encryption Consultings CodeSign Secure.

Steg:

  1. Konfigurera miljövariablerna
    • Öppna miljövariablerna från din Start-meny

      Systemegenskaper
    • Lägg till nya systemvariabler genom att klicka på knappen Ny. Ange följande variabelnamn och motsvarande information.

      1. EC_Client_AuthMotsvarar sökvägen till ditt SSL-autentiseringscertifikat, vilket kan skapas från CodeSignSecure
      2. EC_Client_PassMotsvarar lösenordet för ditt certifikat, vilket anges när certifikatet skapas.
      3. EC_SSL_VERBOSEMotsvarar inställningen för att antingen aktivera (1) eller inaktivera (0) felsökningsutgången för EC KSP.
      Miljövariabler

Konfigurera Signtool för signering

Att konfigurera signtool för kodsignering innebär att säkerställa att verktyget Signtool.exe är tillgängligt på din dator och konfigurerat för att korrekt interagera med Encryption Consultings kryptografiska leverantör som ger åtkomst till ditt kodsigneringscertifikats privata nyckel.

Steg:

  1. Ladda ner och installera Windows SDK
    • Använd följande nedladdningslänk för att ladda ner Windows Software Development Kit med följande verktyg valda: developer.microsoft.com/en-us/windows/downloads/windows-10-sdk/

      Windows SDK
    • Öppna installationsprogrammet när det har laddats ner och välj "Nästa" på den första skärmen för att behålla standardinställningarna.

      Windows SDK-installationsprogram
    • Följ installationsguidens anvisningar på skärmen.

      1. Acceptera Windows Kit-sekretesspolicyn.
      2. Godkänn slutanvändarlicensavtalet.
    • Avmarkera allt utom "Windows SDK-signeringsverktyg för skrivbordsappar" och välj "Installera".

      Windows SDK-funktion
    • Gå till följande sökväg där verktygen ska ha laddats ner: "C:\Program Files (x86)\Windows Kits\10\bin". Välj önskad versionskatalog och kontrollera om filen "signtool.exe" finns.

      Verktygsväg för skyltning
    • Se till att du är i x64-katalogen och kopiera den här katalogsökvägen.
  2. Lägg till sökväg till Signtool.exe i miljövariabler
    • Öppna miljövariablerna från Start-menyn.

      Signera verktygssökväg i miljövariabel
    • Bläddra nedåt genom systemvariablerna i den nedre tabellen tills du hittar PATH i variabelnamnen.

      Variabelnamn
    • Dubbelklicka på PATH i systemvariablerna och välj New till vänster på skärmen. Klistra in din kopierade sökväg för "signtool.exe" i den nya markeringen.

      Sökväg till signeringsverktyget
    • Välj OK längst ner för att avsluta sidan Miljövariabler.

Konfigurera Azure DevOps

Att konfigurera Azure DevOps innebär att du konfigurerar din Azure DevOps-organisation, ditt projekt och specifikt dina byggpipelines för att signera filer med signtool på en Windows-dator.

Steg:

  1. Skapa ett Azure DevOps-projekt

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

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

      Projektskapande
  2. Skapa en personlig åtkomsttoken

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

      Personlig åtkomsttoken
    • I dialogrutan som visas anger du nödvändig information, till exempel namnet på token, organisationsnamnet (den organisation du skapade/åtkom tidigare). Ange utgångsdatum och omfattningar. Jag har ställt in omfattningen till fullständig åtkomst.

      Personlig tokenmodal
    • Klicka på skapa och kopiera token någonstans, eftersom du inte kommer att kunna se token igen.
  3. Konfigurera och ladda ner en agent

    • 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 vänster på skärmen ser du Projektinställningar. Klicka på den.

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

      Agent polsk
    • Klicka på den nya agenten längst upp till vänster.

      Recensioner
    • 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 med detta.

      Agentnedladdningsmodal
  4. Konfigurera agenten

    • När du har extraherat filerna, navigera till mappen där du extraherade dem från cmd och kör .\config.cmd.
    • Nu kommer serverns URL att vara https://dev.azure.com/<your_organization_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 Agentpoolen, 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 att användarkontot 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 ställt in Logga in som administratör. Om du inte gjorde det kan du ändra det själv. Klicka bara på logga in så visas en dialogruta; navigera till logga in, ställ in det till Administratör, 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.
    Azure Pipeline
  5. Skapa pipelinen på Azure DevOps
    • Klicka på "Pipelines" i Azure DevOps för att komma igång och klicka på "Skapa pipeline" på följande sida.

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

      Anslutningssektion
    • Välj det arkiv där du har din kod.

      förvaret
    • Om du inte redan har en .yml-fil i ditt repository klickar du på Starter Pipeline i avsnittet Configure. Om du har en, klickar du på Existing Azure Pipeline. För startpipelinen kan du behöva skapa en ny gren eller commit på själva huvudgrenen.

    • I redigeraren skriver du följande skript

      skript

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

      1. Detta hänvisar till den kryptografiska nyckel som används för att signera koden. Exempel: evcodesigning
      2. Du måste ange namnet på en hashalgoritm, till exempel SHA256, SHA384 eller SHA512. Det måste vara ett av dessa tre värden.
      3. Ange sökvägen till kodsigneringscertifikatet som du fick från CodeSign Secure-portalen.
      4. En tidsstämpelserver tillhandahåller bevis på att en digital signatur utfördes vid en viss 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
      5. Här anger du sökvägen till filen som du vill signera. Exempel C:\ \ Se till att du har angett ett filnamn med rätt filändelse.

      AnmärkningarI avsnittet "variabler" måste du ange samma fält och värden som du har angett i din miljövariabel för P12-autentiseringscertifikat.

  6. Kör Azure DevOps-pipeline

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

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

    Fil signerad