Meteen naar de inhoud

Certificaten met een geldigheidsduur van 47 dagen komen eraan. Ben je klaar?

Handel nu →

Hoe integreer ik de GitLab CI/CD-pijplijn met CodeSigning?

pijpleidingautomatisering

GitLab is een webgebaseerde Git-repositorymanager die broncodebeheer, automatisering van continue integratie/continue ontwikkeling (CI/CD) en diverse andere functies voor softwareontwikkeling biedt. Het is een uitgebreid DevOps-platform waarmee experts elk projectwerk kunnen uitvoeren, van het plannen en beheren van de broncode tot monitoring en beveiliging.

Teams kunnen hierdoor samenwerken en betere software creëren. GitLab biedt uitgebreide DevOps-mogelijkheden in elke fase van de softwareontwikkelingscyclus. De mogelijkheden voor continue integratie (CI) automatiseren het bouwen en testen van code voor ontwikkelteams. Het platform bevat ook beveiligingsfuncties die scanresultaten binnen de native CI-pipeline/workflow weergeven, en een dashboard dat beveiligingsprofessionals helpt bij het beheren van kwetsbaarheden.

Co-ontwerpen

Code ondertekening is een procedure die de legitimiteit van de auteur en de originaliteit en authenticiteit van digitale informatie, met name softwarecode, verifieert. Het garandeert ook dat de informatie geen kwaadaardige code is. Bovendien garandeert het dat deze informatie niet is gewijzigd, vervalst of geannuleerd nadat deze is gepubliceerd. digitaal ondertekendDe digitale handtekening wordt gemaakt met een privésleutel die alleen beschikbaar is voor de uitgever van de software. Wanneer de software wordt gedownload en geïnstalleerd, wordt de digitale handtekening gecontroleerd aan de hand van de openbare sleutel om te bevestigen dat deze overeenkomt en dat de software niet is gewijzigd. Codeondertekening is belangrijk voor de veiligheid en beveiliging van softwaretoepassingen, omdat het de verspreiding van malware en andere schadelijke software helpt voorkomen.

Encryptie Consulting heeft een CodeSigning-oplossing, “CodeSign Secure”, wat u kan helpen met fraudebestendige opslag van de sleutels en volledige zichtbaarheid en controle over codeondertekeningsactiviteiten. De privésleutels van het codeondertekeningscertificaat kunnen worden opgeslagen in een HSM om de risico's te elimineren die samenhangen met gestolen, beschadigde of misbruikte sleutels.

Integratie van GitLab met CodeSigning

Om hiermee aan de slag te gaan, heb je eerst een GitLab-account en een Runner nodig, waarop je signtool en ECSigning KSP hebt geïnstalleerd en geconfigureerd. Hieronder de vereisten:

  1. Zelfgehoste runner met ECSigning KSP en Signtool geïnstalleerd en geconfigureerd. Deze runner moet beheerdersrechten hebben.
  2. Een GitLab-account.

Oplossing voor codeondertekening voor bedrijven

Ontvang één oplossing voor al uw cryptografische behoeften op het gebied van softwarecodeondertekening met onze codeondertekeningsoplossing.

Om ECSigningKSP en Signtool in te stellen, doorloopt u de volgende stappen:

Windows SDK downloaden: (developer.microsoft.com/en-us/windows/downloads/windows-10-sdk/)

U kunt ervoor kiezen om alleen de Windows SDK Signing Tools voor desktop-apps te installeren.

Open het bestand winsdksetup.exe. Onthoud het standaardpad dat wordt weergegeven in het installatiepad, omdat dit handig is bij het uitvoeren van deze opdrachten vanaf de opdrachtprompt.

windows sdk home

Op de pagina Windows Kits Privacy is elke optie om Microsoft toestemming te geven om inzichten te verzamelen in orde. Klik op Volgende.

Windows SDK-privacy

Accepteer de licentieovereenkomst

Windows SDK-licentieovereenkomst pagina 681cf368741e8

Deselecteer alle functies behalve Windows SDK-ondertekeningshulpmiddelen voor desktop-apps, Selecteer vervolgens Installeren.

Windows SDK-functie

Wanneer u wordt gevraagd of u wilt toestaan ​​dat deze app wijzigingen aanbrengt, selecteert u Ja.

Windows-gebruikersaccountbeheer
windows sdk final

Klik op de Windows-zoekbalk op de taakbalk en typ 'Bewerk de systeemomgevingsvariabelen'. Selecteer vervolgens de gelijknamige optie in het Configuratiescherm.

systeemomgevingsvariabele bewerken

Klik omgevingsvariabelen.

omgevingsvariabelen modaal

Voordat u de variabelenlijst bewerkt, navigeert u met behulp van de bestandsverkenner naar de locatie waar de Windows SDK is geïnstalleerd. U moet het pad kopiëren van de map waarin de SignTool-toepassing zich bevindt. Het standaardpad is C:\Program Files (x86)\Windows Kits\10\bin\10.0.22621.0\x64, Zie de onderstaande schermafbeelding. Klik met de rechtermuisknop en kopieer het pad zoals weergegeven. U kunt ook de SignTool-applicatie onderaan de bestandslijst zien; dit is de opdracht die u gaat uitvoeren.

signtool installatiepad

Klik in de lijst Systeemvariabelen op Nieuw. Typ vervolgens Pad als variabelenaam en kopieer en plak het bovengenoemde pad. Klik vervolgens op OK aan de omgeving houden variabelen venster en system vastgoed venster.

nieuwe systeemvariabele toevoegen

Om de installatie te testen, opent u de opdrachtprompt en typt u signtool. De uitvoer zou er dan als volgt uit moeten zien.

signtool-opdrachtprompt

De standaard installatielocatie voor signtool is bijvoorbeeld: C:\Program Files (x86)\Windows Kits\10\bin\10.0.22621.0\x64

Oplossing voor codeondertekening voor bedrijven

Ontvang één oplossing voor al uw cryptografische behoeften op het gebied van softwarecodeondertekening met onze codeondertekeningsoplossing.

Om KSP in te stellen, volgt u de onderstaande stappen:

Als u onze oplossing gebruikt, kunt u de KSP downloaden met behulp van de onderstaande stappen:

  • Inloggen Code Sign Secure.
  • Navigeer naar: Signing tools repository.

    Codesign veilige ondertekeningstools pagina
  • Download “Encryptie Consulting CNG-SigningKSP”
  • Installeer de clienttools met behulp van het .MSI-installatieprogramma. Het .MSI-installatieprogramma automatiseert een groot deel van de configuratie. Navigeer naar de locatie waar het gedownloade bestand is opgeslagen en start het installatieprogramma.

    start het .msi-installatieprogramma 681cf96b947ce
  • Klik op Volgende wanneer de installatiewizard verschijnt.

    ec ondertekening ksp setup home
  • Klik volgende.

    ec ondertekening ksp setup map installatie
  • In de Gebruikersnaam veld, typ admin.
  • In de Code veld, kopieer de code uit de Postman API-repository. Klik op de GetLoginToken api en kopieer de code van de Lichaam.

    Download PostMan hier linkKlik na het downloaden op de knop 'Overslaan' onderaan het venster. Voeg in het dashboard een nieuwe collectie toe met het plusteken naast 'Collecties'.

    GetLoginToken API (http://codesignsecureapi.encryptionconsulting.com/api/auth/GetLoginToken): Dit is de belangrijkste API, omdat deze u een Token aan toonder Om te gebruiken met de rest van de API's, wordt hieronder weergegeven wat er in de body moet staan. De code dient als wachtwoord om een ​​Bearer Token te verkrijgen, het veld 'Gebruiker' is de gebruikersnaam en het veld 'Identiteitstype' specificeert het gebruikerstype. Klik Verstuur Om een ​​uitvoer te genereren met de Bearer Token onderaan. Kopieer deze token voor gebruik.

    postbode drager token api
  • Verander de Identiteit Type om 1.
  • Verlof API BaseURL hetzelfde.
  • Klik volgende.

    ec ondertekening ksp setup gebruikersauthenticatie info
  • Klik volgende.

    ec ondertekening ksp setup installatie bevestigen
  • U krijgt dan een melding dat dit programma wijzigingen zal aanbrengen op uw pc. Klik op Ja.

    msi setup gebruikersaccountbeheer
  • De installatie is nu voltooid.

    ec ondertekening ksp setup installatie voltooid

Volg de onderstaande stappen:

  • Maak een GitLab-account aan. Navigeer naar 'Nieuw leeg project maken'.
  • Scroll naar beneden naar Instellingen -> CI/CD en navigeer naar Runner. Vouw het uit.

    git lab runner
  • Klik op nieuwe projectrunner.

    Nieuwe projectrunner
  • Klik op het platform van je keuze en geef de loper een tag. Geef hem een ​​time-out in seconden en klik op 'loper maken'.

    Platformselectie voor het creëren van een hardloper
  • Kopieer het getoonde token. We hebben het nodig om de runner te registreren. Nu installeren we eerst Gitlab Runner op ons apparaat.
  • Installeer GitLab Runner op uw apparaat met behulp van de linkDeze link is voor Windows. Je kunt hier kijken link om te zien hoe u het op uw specifieke apparaat kunt installeren.
  • Je kunt het volgen documentatie om uw hardloper in te stellen en te registreren op uw apparaat.

Om een ​​runner onder Windows te registreren, voert u de volgende opdracht uit:

  1. .\gitlab-runner.exe registreren
  2. Voer de URL van uw GitLab-instantie in (ook bekend als de gitlab-ci-coördinator-URL). Bijvoorbeeld: https://gitlab.com
  3. Voer het token in dat je hebt gekregen om de runner te registreren. Je kunt dit doen via Instellingen -> CI/CD -> Uitvouwen -> Projectrunners. Onder Projectrunners vind je het token.
  4. Voer een beschrijving in voor de runner. Je kunt deze waarde later wijzigen in de GitLab-gebruikersinterface. Voorbeeld: Apparaat
  5. Voer de tags in die bij de runner horen, gescheiden door komma's. Je kunt deze waarde later wijzigen in de GitLab-gebruikersinterface. Voorbeeld: WindowsRunner
  6. Voer eventuele onderhoudsnotities voor de hardloper in.
  7. Geef de runner-executor op. We gebruiken dit in Shell.

Zodra de runner is geïnstalleerd en geconfigureerd, navigeer je naar services op je apparaat, scrol je naar beneden naar GitLab Runner en stel je 'Aanmelden als beheerder' in. Geef hier je beheerderswachtwoord op.

vensterservices gitlab modaal

Zodra dit is gebeurd, ga je naar je project. Mogelijk moet je de .ym-bestandsnaam hernoemen. Hernoem het naar .gitlab-ci.yml. Voer het onderstaande script uit om te codesignen.

 job1: tags: - WindowsRunner // De tag die u hebt opgegeven tijdens het instellen van het runner-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"

Als u op CI/CD -> jobs klikt, ziet u dat de ondertekening succesvol is.

gitlab-banen

U moet de opdracht aanpassen aan uw variabelen

  • kc evcodesigning: vervang evcodesiging door uw sleutelnaam
  • f "C:\Users\Administrator\Desktop\ForTesting\evcodesigning.pem": vervang de locatie door de locatie van uw .pem-bestand om de code te ondertekenen. U kunt dit doen met behulp van Signing KSP. Ga vanuit de opdrachtprompt naar de map met SigningKSP. Gebruik de opdracht ECGetCert.ece om het pem-bestand van uw certificaat te verkrijgen. 
  • tr http://timestamp.digicert.com: tijdstempelserver
  • td SHA256 “C:\Users\Administrator\Desktop\ForTesting\AgentService.exe”: locatie van het bestand dat u wilt laten ondertekenen.

Conclusie

Het bovenstaande artikel demonstreert het proces van het integreren van je GitLab CI/CD-pipeline met codesigning. Het is een heel eenvoudig proces, je hoeft alleen maar een runner in te stellen, deze te verbinden met een GitLab-account en de pipeline te bouwen om de taak uit te voeren. Codesigning is cruciaal in de huidige tijd, aangezien kwaadaardige software en bestanden blijven groeien. Je kunt contact met ons opnemen via [e-mail beveiligd] voor alle hulp met betrekking tot onze codeondertekeningsoplossing.