TeamCity-integrationsguide

Genom att integrera CodeSign Secure med TeamCity automatiseras kodsigneringssteget i dina byggkonfigurationer, vilket säkerställer att dina programvaruartefakter signeras säkert innan de släpps eller driftsätts, utan manuella åtgärder.

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 TeamCity

Att konfigurera TeamCity innebär att förbereda din TeamCity-miljö, särskilt dess build-agenter och build-konfigurationer, för att utföra automatiserad kodsignering med Encryption Consultings CodeSign Secure och KSP.

Steg:

  1. Ladda ner och installera TeamCity-appen
    • Du kan antingen ladda ner den kostnadsfria TeamCity-appen eller en betald Enterprise-version med hjälp av länkDet finns tre operativsystem för applikationen: Linux, Windows och macOS. Vi kommer att arbeta med den körbara Windows-filen.

      Val av installationsprogram för operativsystem
    • Kör programmet för att installera TeamCity-servern i din miljö.

      Installationsguiden
    • Godkänn villkoren och klicka på "Jag godkänner".

      Villkor
    • Behåll standardinställningarna för enklare integration och hantering av servern.

      TeamCity-inställningar
      TeamCity-inställningar
      TeamCity-inställningar
    • Klicka på Spara och sedan på OK för att gå vidare till nästa steg i kontoskapandet.

      Bygg agentegenskaper
    • Välj alternativet att köra TeamCity-servern och TeamCity-agenten under användarkontot och klicka på Nästa. Du kommer att bli ombedd att logga in som den nuvarande användaren av ditt system.

      Servicekonto för servrar
    • Välj båda alternativen för att starta build agent-tjänsten och TeamCity-servertjänsten. Klicka på Nästa.

      Installationstjänster
    • Klicka på Slutför. Detta tar dig till TeamCitys webbgränssnitt där du kan skapa dina projekt och ange konfigurationspolicyer.

      Installationen är klar
    • Webbgränssnittet körs på localhost på port 8111 (standard). Klicka på Fortsätt för att ange platsen för datakatalogen för TeamCity-servern. Åtkomst till TeamCity från en webbläsare genom att gå till http://localhost:8111

      Webbgränssnitt
    • Välj lämplig databas som ska lagra bygghistoriken och din kontorelaterade information. Vi kommer att välja HSQLDB-databasen för det här projektet.

      Val av databas
    • Godkänn licensavtalet och klicka på Fortsätt.

      Licensavtal
    • Skapa nu ett inloggningskonto för din CI/CD-pipeline och dina projekt.

      Logga in
  2. Skapa ett nytt projekt
    • Efter lyckad inloggning kommer du till TeamCity-instrumentpanelen. Nu kan du börja skapa ditt första projekt. Klicka på "Skapa projekt".

      Dashboard
    • Det finns två alternativ när du skapar ett projekt på TeamCity. Det kan göras antingen med ett arkivkonto eller manuellt. Låt oss först titta på den manuella processen. Ange de obligatoriska uppgifterna för ditt projekt.

      Projektskapande
    • När den har skapats kommer den att uppmana dig att skapa en byggkonfiguration.

      Bygg skapande
    • Även här har du två alternativ – arkiv eller manuell process. Vi fortsätter återigen med den manuella processen. Ange de obligatoriska uppgifterna och klicka på Skapa.

      Byggkonfiguration
    • Den kommer sedan att be dig ange informationen för versionskontrollinställningar. Det är ett valfritt steg. Vi kommer att hoppa över det för det här projektet.

      Inställningar för versionskontroll
  3. Skapa en pipeline i ditt projekt
    • Efter att ha konfigurerat de allmänna projekt- och konfigurationsinställningarna kan vi nu lägga till byggsteg i vår pipeline. Det här är de processer som faktiskt kommer att köra och utföra kodsigneringsoperationer.

      Bygg steg
    • Klicka på knappen "Lägg till byggsteg" och välj "Kommandorad" från rullgardinsmenyn.

      Lägg till byggsteg
    • Den kommer sedan att be dig ange informationen för versionskontrollinställningar. Det är ett valfritt steg. Vi kommer att hoppa över det för det här projektet.

      Detaljer om versionskontroll
    • Ange grundläggande detaljer som stegnamn och steg-ID.
    • Välj alternativet Anpassad skriptkod i rullgardinsmenyn i skriptfältet och ange cmd-skriptet för att utföra signeringsåtgärden med de obligatoriska uppgifterna.

      Ett exempel på ett kommandoradsskript finns nedan som referens:

      signtool sign /csp "Krypteringskonsulttjänst för nyckellagring" /kc /fd /f /tr /td 

      Följande är flaggorna och deras betydelse i kommandot:

      1. /cspDetta anger vilken nyckeltjänstleverantör som ska användas. Detta ska alltid vara "Krypteringskonsultleverantör för nyckellagring".
      2. /kcDetta ska vara namnet på den privata nyckel som är kopplad till ditt certifikat. Detta kommer troligen att vara samma namn som certifikatnamnet.
      3. /fdDetta är signeringsalgoritmen som ska användas med signeringsfunktionen. Detta kan vara SHA256, SHA384 eller SHA512.
      4. /fNamnet på certifikatet som ska användas för signering. Detta ska vara samma namn som /kc-flaggan.
      5. /tr (valfritt)Detta är URL:en för tidsstämplingsinstansen som ska användas. Om /tr inte används och tidsstämpling inte krävs, bör /td också utelämnas från detta kommando.
      6. /td (valfritt)Detta är signeringsalgoritmen som ska användas med tidsstämplingsservern. Detta kan vara SHA256, SHA384 eller SHA512. Algoritmen ska vara densamma som fältet /fd. Om /tr inte används och tidsstämpling inte krävs, ska /td också utelämnas från detta kommando.
      7. Detta är namnet på filen som ska signeras. Filen måste finnas i den katalog där kommandot körs.
    • Hela steget bör se ut ungefär som bilden nedan:

      Nytt byggsteg
    • Upprepa nu ovanstående process för att skapa ytterligare ett byggsteg för verifiering av den signerade filen.

      Ett exempel på ett kommandoradsskript finns nedan som referens:

      signtool verifiera
    • Hela steget bör se ut ungefär som bilden nedan:

      Nytt byggsteg

Kör TeamCity-pipelinen

  • För att köra pipelinen klickar du nu på "Kör", som finns längst upp till höger i projektvyn.
  • Efter att du klickat på "Kör" kan du se pipelinens live-action genom att klicka på "Agenter" (uppe till vänster) -> Välj agentnamn -> Bygghistorik.

    bygga historia
  • En lyckad exekvering av en pipeline kommer att se ut så här. Här kan du se att båda byggstegen – signering och verifiering – har slutförts.

    Bygg loggar