GitHub Actions är en plattform för kontinuerlig integration och kontinuerlig utveckling (CI/CD) som låter användare automatisera sin pipeline för byggande, testning och distribution. Användare kan utforma arbetsflöden som bygger och testar varje pull- och push-förfrågan till deras repository eller distribuera sammanslagna pull-förfrågningar till produktion. GitHub Actions är ett kraftfullt verktyg som låter utvecklare automatisera arbetsflöden inom sina GitHub-repositories.
Varje arbetsflöde består av ett eller flera jobb, som består av ett eller flera steg. Varje steg är en uppsättning kommandon som körs på en runner, vilket är en virtuell maskin som kör dina arbetsflöden.
Komma igång med GitHub-åtgärder
För att komma igång med GitHub Actions behöver du ett GitHub-konto och ett repository. När du har skapat ditt repository kan du skapa ett nytt arbetsflöde genom att lägga till en YAML-fil i katalogen .github/workflows i ditt repository.
Några av de termer som används i arbetsflödet för att definiera YAML-filer listas nedan. Låt oss bryta ner detta arbetsflöde för att förstå hur det fungerar:
-
Namn: Detta är namnet på arbetsflödet. -
på: Detta anger när arbetsflödet ska utlösas. Till exempel kan arbetsflödet köras när en pull request öppnas på en gren. -
jobb: Detta är en lista över jobb som kommer att utföras som en del av arbetsflödet. -
påkörning: Detta anger operativsystemet och miljön för jobbet. Vi kan konfigurera en självhostad runner för vårt jobb. Vi konfigurerar en självhostad runner för detta.
-
steg: Detta anger en lista över steg som kommer att utföras som en del av jobbet.
-
användningsområden: Detta är en genväg för att använda en befintlig åtgärd från GitHub Marketplace. I vårt skript använder vi åtgärden actions/checkout för att checka ut repository-koden.
-
Namn: Detta är namnet på steget. -
sikt: Detta är ett shell-kommando som kommer att köras som en del av steget.
Samdesign med GitHub-åtgärder
Kodsignering är processen med digital signering programkod för att verifiera dess äkthet och integritet. Det är en säkerhetsåtgärd som hjälper till att säkerställa att koden inte har manipulerats och kommer från en betrodd källa.
Vi kan utföra samdesign med hjälp av GitHub-åtgärder. För detta skapar vi ett arbetsflöde i vårt önskade repository i GitHub och utför samdesign med hjälp av skriptet.
Förutsättningar för att utföra denna uppgift inkluderar:
- Ett GitHub-arkiv (du behöver ett administratörskonto).
- En Runner där Signtool och ECSigning KSP är installerade och konfigurerade.
Innan vi börjar behöver vi konfigurera en runner. Runner kommer att installeras på den enhet där du har Signtool och ECSigning KSP installerade och konfigurerade. För att göra det på din enhet, följ stegen nedan.
För att installera och konfigurera Signtool, följ stegen nedan:
Signtool kan laddas ner som en del av Windows SDK. 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:
Krypteringskonsulttjänster erbjuder dig denna lösning, KodSignSäkerDen här lösningen 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 med stulna, skadade eller missbrukade nycklar.
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ör att ställa in löparen, följ stegen nedan:
Navigera till ditt Github-arkiv.
- Navigera till inställningar för arkivet
- Scrolla ner till Åtgärder och välj Löpare från rullgardinsmenyn.
Klicka på Ny självhostad löpare.

När du har gjort det kan du klicka på den löparbild (macOS/Linux/Windows) du vill ha. Instruktionerna nedan gäller för Windows. Du kommer att se flera kommandon som ska följas på skärmen.
Kör kommandona som visas i konfigurationen av runnern. Kommandona ges också nedan:
- mkdir actions-runner; cd actions-runner;
- Anropa-WebRequest-URL https://github.com/actions/runner/releases/download/v2.303.0/actions-runner-win-x64-2.303.0.zip -OutFile actions-runner-win-x64-2.303.0.zip
- Tilläggstyp -AssemblyName System.IO.Compression.FileSystem; [System.IO.Compression.ZipFile]::ExtractToDirectory("$PWD/actions-runner-win-x64-2.303.0.zip", "$PWD")
- ./config.cmd –url https://github.com/Encryption-Consulting-LLC/CodeSignSecure-Desktop –token
När du ser Github Actions skrivet på din skärm blir du ombedd att registrera dig som löpare.

- Ange namnet på löpargruppen som löparen ska läggas till i: [tryck Enter för standardinställning] (Du kan lämna detta till standardinställningen).
- Ange löparens namn: [tryck Enter för KLIENT] (Du kan ange önskat namn för din löpare).
-
Denna runner kommer att ha följande etiketter: 'självhostad', 'Windows', 'X64'
Ange eventuella ytterligare etiketter (t.ex. etikett-1, etikett-2): [tryck Enter för att hoppa över] (Ange en etikett här, det kan vara vad som helst, lämna/hoppa inte över det här steget. Samma namn kommer att användas senare för att anropa runner i skriptet).
-
Följande kommer att visas på skärmen när det är klart
- Löpare har lagts till
- Löparkopplingen är bra
- Löparinställningar
Ange namn på arbetsmappen: [tryck Enter för _arbete] (Du kan lämna detta till standard eller så kan du ange en mapp du vill ha)
Inställningar sparade
- Vill du köra löparen som en tjänst? (J/N) [tryck Enter för N] (Ange J)
-
Användarkonto som ska användas för tjänsten [tryck Enter för NT AUTHORITY\NETWORK SERVICE] (Se till att du anger Administratör här)
(Administratörsbehörighet krävs för att köra kommandot. Därför är det MÅSTE att ange användaren som administratör)
- Lösenord för kontot CLIENT\Administrator (Ange lösenordet för ditt administratörskonto)
-
När du är klar ser du följande uppmaning på skärmen.
Den kommer att visas som Service actions.runner. .
Beviljar filbehörigheter till 'KLIENT\Administratör'.
Tjänst actions.runner.Encryption-Consulting-LLC-CodeSignSecure-Desktop.TryThree har installerats
Service actions.runner.Encryption-Consulting-LLC-CodeSignSecure-Desktop.TryThree har ställt in återställningsalternativet
Tjänsten actions.runner.Encryption-Consulting-LLC-CodeSignSecure-Desktop.TryThree har ställts in på fördröjd automatisk start.
Tjänsten actions.runner.Encryption-Consulting-LLC-CodeSignSecure-Desktop.TryThree har konfigurerats
Väntar på att tjänsten ska starta…
Tjänsten actions.runner.Encryption-Consulting-LLC-CodeSignSecure-Desktop.TryThree startade utan problem
När löparen är konfigurerad på din enhet, navigera till ditt repository på GitHub.
Gå till Åtgärder.
Klicka på Nytt arbetsflöde
Klicka på Konfigurera ett arbetsflöde själv

Så här kommer din editor att se ut. Du kan byta namn på din .yaml-fil eller lämna namnet till standardnamnet.

Lägg till skriptet nedan i din editor efter att du har gjort några ändringar eller uppdaterat variablerna.
namn: Kodinloggning på: push: branches: <[ Ditt filialnamn ]> jobs: build: runs-on: steg: - namn: Utcheckningskod använder: actions/checkout@v2 - namn: Signera kod körs: | signtool signera /csp "Krypteringskonsulttjänst för nyckellagring" /kc /fd /f " " /tr /td SHA256 " "
Vänligen ersätt variablerna som anges under En kort beskrivning av den förväntade variabeln ges nedan.
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.
Detta hänvisar till den kryptografiska nyckel som används för att signera koden. Exempel: evcodesigning
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.
Du måste ange namnet på hashalgoritmen, till exempel SHA256, SHA384 eller SHA512. Det måste vara ett av dessa tre värden.
: 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
Kommandot jag använde för signering var
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"
Skriptet jag använde var:
namn: Kodinloggning på: push: branches: [ Github_Actions ] jobs: build: runs-on: runner steps: - namn: Utcheckningskod använder: actions/checkout@v2 - namn: Signera kod kör: | signtool sign /csp "Krypteringskonsulttjänst för nyckellagring" /kc evcodesigning /fd SHA256 /f "C:\Användare\Administratör\Desktop\FörTesting\evcodesigning.pem" /tr http://timestamp.digicert.com /td SHA256 "C:\Användare\Administratör\Desktop\FörTesting\AgentService.exe"
När du har redigerat ditt skript klickar du på commit. Du kan commit direkt till din standardgren eller commit till en ny gren. Se till att du uppdaterar namnet på din gren i koden. Efter commit körs jobbet.

Slutsats
Krypteringskonsulttjänster erbjuder dig en lösning för samdesign som kallas CodeSign SecureDu kan kontakta oss för att få tag på SigningKSP samt nyckelnamn. Samdesign med Github Actions är en enkel process. En användare behöver bara konfigurera löparen och köra ditt skript. Du kan kontakta oss på [e-postskyddad] för någon hjälp.
