Meteen naar de inhoud

webinar: Meld je aan voor ons aankomende webinar.

Aanmelden

Hoe u een Jenkins CI CD-pijplijn integreert met CodeSigning

taken gerelateerd aan softwareontwikkeling
Inhoudsopgave

Jenkins is een open-source automatiseringstool die veel wordt gebruikt voor continue integratie en continue levering (CI/CD) van softwareapplicaties. Jenkins biedt een webgebaseerde gebruikersinterface waarmee u eenvoudig jobs kunt configureren en beheren. Dit zijn geautomatiseerde taken die kunnen worden gepland om op specifieke tijdstippen te worden uitgevoerd of die worden geactiveerd door specifieke gebeurtenissen. Deze jobs kunnen worden gebruikt om code te compileren, tests uit te voeren, applicaties te implementeren en vele andere taken met betrekking tot softwareontwikkeling uit te voeren.

Enkele belangrijke kenmerken van Jenkins zijn:

  • Eenvoudige installatie en configuratie

    Jenkins is eenvoudig te installeren en configureren en kan op een breed scala aan besturingssystemen en platforms worden gebruikt.

  • Krachtig taakbeheer

    Met Jenkins kunt u jobs aanmaken en beheren. Dit zijn geautomatiseerde taken die u kunt plannen om op specifieke tijdstippen uit te voeren of die worden geactiveerd door specifieke gebeurtenissen. Jobs kunnen worden gebruikt om code te compileren, tests uit te voeren, applicaties te implementeren en vele andere taken met betrekking tot softwareontwikkeling uit te voeren.

  • Breed scala aan plug-ins en integraties

    Jenkins beschikt over een groot aantal plug-ins en integraties, waardoor het met veel verschillende tools en technologieën kan werken. Dit maakt het zeer aanpasbaar en flexibel.

  • Ondersteuning voor pijpleidingen

    Jenkins biedt krachtige ondersteuning voor pipelines, sets van fasen die een softwareontwikkelingsworkflow definiëren. Pipelines kunnen worden gedefinieerd met behulp van code, waardoor ze zeer aanpasbaar en eenvoudig te beheren zijn.

  • Ingebouwde testondersteuning

    Jenkins biedt ingebouwde ondersteuning voor veel verschillende soorten tests, waaronder unittests, integratietests en functionele tests. Dit maakt het eenvoudig om tests uit te voeren als onderdeel van een continue integratieworkflow, zodat alle codewijzigingen grondig worden getest voordat ze in productie worden genomen.

  • Schaalbaarheid

    Jenkins kan eenvoudig worden geschaald ter ondersteuning van grote ontwikkelteams en complexe softwareontwikkelingsworkflows.

  • Open-source

    Jenkins is open-sourcesoftware. Dit betekent dat u de software gratis kunt gebruiken en kunt aanpassen aan de specifieke behoeften van uw ontwikkelteam.

Codesigning met Jenkins

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 ondertekend.

Om codesigning met Jenkins uit te voeren, volgt u de onderstaande stappen.

Vereisten voor het uitvoeren van deze taak zijn:

  1. Jenkins-installatie en configuratie op uw apparaat
  2. Signtool geïnstalleerd en geconfigureerd
  3. ECSigning KSP geïnstalleerd en geconfigureerd.

Om Jenkins in te stellen en te configureren, gaat u door de link.

Oplossing voor codeondertekening voor bedrijven

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

Volg de onderstaande stappen om Signtool in te stellen en te configureren:

Signtool kan worden gedownload als onderdeel van de Windows SDK. Download Windows SDK: (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

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

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

Encryption Consulting biedt u deze oplossing, CodeSignSecureDeze oplossing biedt u fraudebestendige opslag voor 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 van gestolen, beschadigde of misbruikte sleutels te elimineren.

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.

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

Zodra Jenkins is ingesteld, hebben we beheerdersrechten nodig om de opdracht voor signtool uit te voeren. Om te zien of we de beheerdersrechten voor Jenkins hebben ingesteld, en zo niet, om die in te stellen

  • Ga naar de services op uw systeem (u kunt er gewoon naar zoeken)
  • Scroll naar beneden naar Jenkins. Daar, in de kolom 'Aanmelden als', zie je het gebruikersaccount dat voor Jenkins is ingesteld. Als het is ingesteld op iets anders (Lokale service/Systeem, Netwerkservice/Systeem) dan '.\Administrator', dan moeten we het instellen als Administrator.
  • Dubbelklik op Jenkins of klik met de rechtermuisknop > Eigenschappen om Eigenschappen te openen. Ga naar Aanmelden.

    Selecteer 'Dit account'

    Stel het in als ".\Administrator". Geef een wachtwoord op, bij voorkeur een beheerderswachtwoord. Klik op Toepassen als je klaar bent.

    Jenkins-eigenschappen

Zodra we dit hebben ingesteld, gaan we naar Jenkins. Welke URL/hostnaam je ook hebt opgegeven tijdens de installatie, als je daar vanuit je browser naartoe navigeert, kom je bij Jenkins. In mijn systeem heb ik het ingesteld als http://localhost:8080/ (Dit is ook de standaardinstelling).

Volg de onderstaande stappen in uw Dashboard:

  • Klik op Nieuw item op het Dashboard.

    Jenkins-dashboard
  • Voer een itemnaam in en klik op pijplijn en klik op OK.

    Jenkins voert itemnaam in
  • Op de configuratiepagina, onder Algemeen, kunt u een gewenste beschrijving invullen.

    Jenkins algemene configuratie
  • Scroll naar beneden om Pipeline te vinden.

    Jenkins configure-pijplijn
  • Schrijf het script in het scriptvak en klik op Opslaan. Je moet je omgevingsvariabele aanpassen aan je instellingen.

    pijplijn { agent elke omgeving { SM_KEY_NAME='evcodesigning' SM_CLIENT_CERT_FILE='C:\\Gebruikers\\Beheerder\\Bureaublad\\VoorTesten\\evcodesigning.pem' SM_HASHING_ALGORITHM='SHA256' SM_TIME_STAMP_SERVER="http://timestamp.digicert.com" SM_FILEPATH="C:\\Gebruikers\\Beheerder\\Bureaublad\\VoorTesten\\AgentService.exe" } fasen { fase('Codeondertekening') { stappen { dir('C:\\Gebruikers\\Beheerder\\Bureaublad\\VoorTesten') { bat 'signtool sign /csp "Encryptie Consulting Sleutelopslagprovider" /kc %SM_KEY_NAME% /fd %SM_HASHING_ALGORITHM% /f %SM_CLIENT_CERT_FILE% /tr %SM_TIME_STAMP_SERVER% /td SHA256 %SM_FILEPATH%' } } } } }
    
  • Klik op 'Nu bouwen'. U ziet dan een buildnummer op het scherm verschijnen.

    Jenkins bouwen
  • Als u op het buildnummer klikt en naar de console-uitvoer gaat, ziet u dat uw bestand is ondertekend.

    Jenkins heeft het bestand succesvol ondertekend