Azure DevOps-integratiehandleiding

Integratie van CodeSign Secure met Azure DevOps verbetert uw CI/CD-pipelines door het ondertekeningsproces te automatiseren. Dit zorgt ervoor dat elke build veilig en efficiënt wordt ondertekend, waardoor handmatige fouten worden verminderd en de betrouwbaarheid van uw softwaretoeleveringsketen wordt versterkt.

CodeSign Secure KSP instellen

De Encryption Consulting Key Storage Provider (KSP) voor Windows is een softwarecomponent die het Microsoft Cryptography API: Next Generation (CNG) framework uitbreidt. Het primaire doel is om Windows-applicaties, zoals signtool.exe, naadloos te laten samenwerken met de cryptografische sleutels en certificaten die in een HSM zijn opgeslagen.

Stappen:

  1. Download de EC KSP

    • Meld u aan bij de CodeSign Secure-portal en ga naar het gedeelte Ondertekeningshulpmiddelen om 'EC KSP voor Windows' te downloaden.

      Route voor ondertekeningshulpmiddelen
    • Pak het zipbestand uit om het bestand “Setup.msi” te verkrijgen.
  2. Installeer de EC KSP
    • Voer het installatieprogramma “Setup.msi” uit met beheerdersrechten.

      Installatieprogramma instellen
    • Volg de instructies op het scherm van de installatiewizard.

      1. Accepteer de licentieovereenkomst voor eindgebruikers.
      2. Kies de installatiemap (standaard is dit C:\Program Files\Encryption Consulting\SigningKSP).
      3. Kies of u de KSP voor iedereen wilt installeren of alleen voor de huidige gebruiker
      Installatiemap
    • Voer de gevraagde gegevens in, zoals:

      1. Gebruikersnaam: De gebruikersnaam/het e-mailadres waarmee u inlogt op de CodeSign Secure-portal.
      2. Code: De geheime code die u instelt bij het instellen van de CodeSign Secure-oplossing.
      3. Identiteitstype: Houd dit veld als standaard (2)
      4. CodeSign Beveiligde URL: De URL om toegang te krijgen tot de portal (vergeet niet om “/api/” aan het einde van de URL toe te voegen)
      API-gebruikersauthenticatiegegevens
    • Klik op Volgende en bevestig de installatie.

      KSP installeren
  3. De instellingen van de Register-editor configureren
    • Open de Register-editor en ga naar de map HKEY_CURRENT_USER>Software>Encryption Consulting>SigningKSP.

      register-editor
    • Open nu de CodeSign Secure-portal en ga naar Systeeminstellingen > Gebruiker. Selecteer de vervolgkeuzelijst aan de rechterkant om 'API-sleutel genereren' te selecteren.

      Genereer API Key
    • Maak een token aan voor je account door een naam en de geldigheidsduur op te geven. Vergeet niet de token te kopiëren, want deze wordt maar één keer weergegeven.

      Genereer API Key
    • Voeg dit token toe aan het veld “ectoken” in de Register-editor.

      ectoken

P12-authenticatiecertificaat instellen

Voor het instellen van een P12-certificaat configureert u uw omgevingsvariabelen om uw clientcomputer te verifiëren met CodeSign Secure van Encryption Consulting.

Stappen:

  1. Configureer de omgevingsvariabelen
    • Open de omgevingsvariabelen vanuit uw startmenu

      Systeemeigenschappen
    • Voeg nieuwe systeemvariabelen toe door op de knop Nieuw te klikken. Geef de volgende variabelenaam en de bijbehorende details op.

      1. EC_Client_Auth: Komt overeen met het pad van uw SSL-authenticatiecertificaat, dat kan worden aangemaakt vanuit CodeSignSecure
      2. EC_Client_Pass: Komt overeen met het wachtwoord van uw certificaat, dat u ontvangt bij het aanmaken van het certificaat.
      3. EC_SSL_VERBOSE: Komt overeen met de instelling om de foutopsporingsuitgang voor EC KSP in te schakelen (1) of uit te schakelen (0).
      Omgevingsvariabelen

Signtool instellen voor ondertekening

Als u Signtool wilt instellen voor codeondertekening, moet u ervoor zorgen dat het hulpprogramma Signtool.exe beschikbaar is op uw computer en correct is geconfigureerd om te communiceren met de cryptografische provider van Encryption Consulting die toegang biedt tot de persoonlijke sleutel van uw codeondertekeningscertificaat.

Stappen:

  1. Windows SDK downloaden en installeren
    • Via de volgende downloadlink kunt u de Windows Software Development Kit downloaden met de volgende geselecteerde tools: developer.microsoft.com/en-us/windows/downloads/windows-10-sdk/

      Windows SDK
    • Open het installatieprogramma nadat u het hebt gedownload en selecteer 'Volgende' op het eerste scherm om de standaardinstellingen te behouden.

      Windows SDK-installatieprogramma
    • Volg de instructies op het scherm van de installatiewizard.

      1. Accepteer de Windows Kit Privacy.
      2. Accepteer de licentieovereenkomst voor eindgebruikers.
    • Deselecteer alles behalve “Windows SDK Signing Tools for Desktop Apps” en selecteer “Installeren”.

      Windows SDK-functie
    • Ga naar het volgende pad waar de tools gedownload zouden moeten zijn: "C:\Program Files (x86)\Windows Kits\10\bin". Selecteer de gewenste versiemap en controleer of het bestand "signtool.exe" aanwezig is.

      Tekengereedschapspad
    • Zorg ervoor dat u zich in de x64-directory bevindt en kopieer dit directorypad.
  2. Pad naar Signtool.exe toevoegen in omgevingsvariabelen
    • Open de Omgevingsvariabelen via het Startmenu.

      Teken gereedschapspad in omgevingsvariabele
    • Blader door de systeemvariabelen in de onderste tabel totdat u PATH in de variabelenamen vindt.

      Variabelennamen
    • Dubbelklik op PATH in systeemvariabelen en selecteer Nieuw aan de linkerkant van het scherm. Plak het gekopieerde pad naar "signtool.exe" in de nieuwe selectie.

      Pad naar de map Sign Tool
    • Selecteer OK onderaan om de pagina Omgevingsvariabelen te verlaten.

Azure DevOps instellen

Het instellen van Azure DevOps omvat het configureren van uw Azure DevOps-organisatie, project en specifiek uw build-pipelines voor het ondertekenen van bestanden met signtool op een Windows-computer.

Stappen:

  1. Een Azure DevOps-project maken

    • Ga naar dev.azure.com en meld u aan met uw Microsoft-account, of begin gratis met uw GitHub-account.
    • Geef de details zoals gevraagd

      Account Aanmelden
    • U wordt gevraagd een organisatie aan te maken als u dat nog niet heeft gedaan. Maak een organisatie aan en ga aan de slag met het project.
    • Als je al een project hebt waar je de pijplijn wilt bouwen, ga dan naar 'Pijplijnen'. Zo niet, maak dan eerst een eenvoudig project aan. Geef de benodigde details op om verder te gaan.

      Projectcreatie
  2. Een persoonlijke toegangstoken aanmaken

    • Nadat u een project hebt aangemaakt, navigeert u naar de gebruikersinstellingen linksboven in uw scherm en klikt u op 'Persoonlijke toegangstoken'. Klik op de volgende pagina op 'Nieuwe token'.

      Persoonlijke toegangstoken
    • Geef in het dialoogvenster dat verschijnt de benodigde gegevens op, zoals de naam van het token, de naam van de organisatie (de organisatie die u eerder hebt gemaakt/waar u eerder toegang toe hebt gehad). Stel de vervaldatum en scopes in. Ik heb de scope ingesteld op volledige toegang.

      Persoonlijke token-modaliteit
    • Klik op 'Create' en kopieer het token ergens naartoe. Je kunt het token later niet meer zien.
  3. Een agent instellen en downloaden

    • Nadat we een token hebben opgehaald, moeten we een zelf-gehoste runner instellen. Dit is een machine waarop Signtool en ECSigningKSP zijn geïnstalleerd en geconfigureerd. Ga hiervoor terug naar de pagina Codeoverzicht. Linksonder in het scherm ziet u de projectinstellingen. Klik daarop.

      Code Portaal
    • Onder Pipelines zie je Agent Pools. Klik daarop en vervolgens op Standaard.

      Agentenpools
    • Klik linksboven op de nieuwe agent.

      Agent
    • Download de agent voor uw besturingssysteem. Ik werk met Windows. Download de agent en pak deze uit in een map "C:\agents". U kunt ook deze stappen volgen. documentatie voor meer hulp hierbij.

      Agent Download Modal
  4. De agent configureren

    • Nadat u de bestanden hebt uitgepakt, navigeert u naar de map waar u ze hebt uitgepakt via cmd en voert u .\config.cmd uit.
    • Nu zal de server-URL zijn: https://dev.azure.com/<your_organization_name>

      Druk op Enter voor PAT bij het authenticatietype en geef bij de volgende vraag het eerder gekopieerde token op.

    • Zodra de agent is geregistreerd voor Agent Pool (deze hebben we standaard ingesteld) drukt u op Enter. Als u uw agent een naam wilt geven, kunt u dat doen, maar druk op Enter om de naam CLIENT te krijgen.
    • Zodra de agent is toegevoegd, kunt u de werkmap als standaard laten staan ​​of naar wens wijzigen. Om de agent als service uit te voeren, vult u 'Y' in (ja). Stel voor 'Gebruikersaccount voor service' het account 'Beheerder' in. Dit is belangrijk, omdat u beheerdersrechten nodig hebt om codeondertekening uit te voeren. Voer het wachtwoord voor uw beheerdersaccount op uw computer in.
    • Omdat we dit als een service hebben ingesteld, wordt de agent automatisch uitgevoerd. Als we dit niet als een service hadden ingesteld, hadden we de agent handmatig moeten uitvoeren.
    • Navigeer naar services.msc en scrol omlaag naar Azure Pipeline Agent om te zien dat u Aanmelden als beheerder hebt ingesteld. Als u dit nog niet hebt gedaan, kunt u dit zelf wijzigen. Klik op Aanmelden en er verschijnt een dialoogvenster. Navigeer naar Aanmelden, stel dit in als Beheerder, geef het wachtwoord op en start de service opnieuw op. Ga vervolgens terug naar Azure DevOps om de pijplijn te bouwen.
    Azure-pijplijn
  5. De pijplijn maken op Azure DevOps
    • Klik op 'Pijplijnen' in Azure DevOps om te beginnen en klik op 'Pijplijn maken' op de volgende pagina.

      Code Portaal
    • Kies op de volgende pagina, in het gedeelte 'Verbinden', waar je code staat. Mijn code staat op GitHub en ik ga hiermee aan de slag. Je hebt beheerdersrechten voor je repository nodig om toegang te verlenen.

      Sectie verbinden
    • Selecteer de repository waar uw code is opgeslagen.

      bewaarplaats
    • Als u nog geen .yml-bestand in uw repository hebt, klikt u in de sectie Configureren op Starter Pipeline. Als u wel een .yml-bestand in uw repository hebt, klikt u op Bestaande Azure Pipeline. Voor de starter pipeline moet u mogelijk een nieuwe branch maken of committen op de hoofdbranch zelf.

    • Schrijf het volgende script in de editor

      script

      Vervang de variabelen die onder zijn gespecificeerd Hieronder volgt een korte beschrijving van de verwachte variabele.

      1. : Dit verwijst naar de cryptografische sleutel die wordt gebruikt om de code te ondertekenen. Voorbeeld: evcodesigning
      2. : U moet de naam van een hash-algoritme opgeven, zoals SHA256, SHA384 of SHA512. Het moet een van deze drie waarden zijn.
      3. : Geef het pad op naar het codeondertekeningscertificaat dat u van de CodeSign Secure-portal hebt ontvangen.
      4. : Een tijdstempelserver levert bewijs dat een digitale handtekening op een specifiek tijdstip is geplaatst, waardoor in de toekomst geverifieerd kan worden of een bestand op een specifiek tijdstip is ondertekend. De server die we doorgaans gebruiken is http://timestamp.digicert.com
      5. : Hier geeft u het pad op van het bestand dat u wilt ondertekenen. Bijvoorbeeld C:\ \ Zorg ervoor dat u een bestandsnaam met de juiste extensie hebt opgegeven.

      Note:In het gedeelte 'variabelen' moet u dezelfde velden en waarden opgeven die u hebt ingesteld in uw omgevingsvariabele voor het P12-authenticatiecertificaat.

  6. Azure DevOps-pijplijn uitvoeren

    Wanneer u op Opslaan en uitvoeren klikt, wordt u gevraagd om een ​​branch-tag. Controleer of de naam die u hier en onder 'trigger' in het script opgeeft, hetzelfde is voordat u het script uitvoert.

    Zodra de build succesvol is, ziet u dat uw bestand succesvol is ondertekend.

    Bestand ondertekend