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:
-
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.
- Pak het zipbestand uit om het bestand “Setup.msi” te verkrijgen.
-
-
Installeer de EC KSP
-
Voer het installatieprogramma “Setup.msi” uit met beheerdersrechten.
-
Volg de instructies op het scherm van de installatiewizard.
- Accepteer de licentieovereenkomst voor eindgebruikers.
- Kies de installatiemap (standaard is dit C:\Program Files\Encryption Consulting\SigningKSP).
- Kies of u de KSP voor iedereen wilt installeren of alleen voor de huidige gebruiker
-
Voer de gevraagde gegevens in, zoals:
- Gebruikersnaam: De gebruikersnaam/het e-mailadres waarmee u inlogt op de CodeSign Secure-portal.
- Code: De geheime code die u instelt bij het instellen van de CodeSign Secure-oplossing.
- Identiteitstype: Houd dit veld als standaard (2)
- 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)
-
Klik op Volgende en bevestig de installatie.
-
-
De instellingen van de Register-editor configureren
-
Open de Register-editor en ga naar de map HKEY_CURRENT_USER>Software>Encryption Consulting>SigningKSP.
-
Open nu de CodeSign Secure-portal en ga naar Systeeminstellingen > Gebruiker. Selecteer de vervolgkeuzelijst aan de rechterkant om 'API-sleutel genereren' te selecteren.
-
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.
-
Voeg dit token toe aan het veld “ectoken” in de Register-editor.
-
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:
-
Configureer de omgevingsvariabelen
-
Open de omgevingsvariabelen vanuit uw startmenu
-
Voeg nieuwe systeemvariabelen toe door op de knop Nieuw te klikken. Geef de volgende variabelenaam en de bijbehorende details op.
- EC_Client_Auth: Komt overeen met het pad van uw SSL-authenticatiecertificaat, dat kan worden aangemaakt vanuit CodeSignSecure
- EC_Client_Pass: Komt overeen met het wachtwoord van uw certificaat, dat u ontvangt bij het aanmaken van het certificaat.
- EC_SSL_VERBOSE: Komt overeen met de instelling om de foutopsporingsuitgang voor EC KSP in te schakelen (1) of uit te schakelen (0).
-
Signtool instellen voor ondertekening
Om Signtool in te stellen voor codeondertekening, moet u ervoor zorgen dat het hulpprogramma Signtool.exe op uw computer beschikbaar is en correct is geconfigureerd om te communiceren met de cryptografische provider van Encryption Consulting, die toegang biedt tot de privésleutel van uw codeondertekeningscertificaat.
Stappen:
-
Windows SDK downloaden en installeren
-
Gebruik de volgende downloadlink om de Windows Software Development Kit te downloaden en selecteer de volgende tools: developer.microsoft.com/en-us/windows/downloads/windows-10-sdk/
-
Open het installatieprogramma nadat u het hebt gedownload en selecteer 'Volgende' op het eerste scherm om de standaardinstellingen te behouden.
-
Volg de instructies op het scherm van de installatiewizard.
- Accepteer de Windows Kit Privacy.
- Accepteer de licentieovereenkomst voor eindgebruikers.
-
Deselecteer alles behalve “Windows SDK Signing Tools for Desktop Apps” en selecteer “Installeren”.
-
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.
- Zorg ervoor dat u zich in de x64-directory bevindt en kopieer dit directorypad.
-
-
Pad naar Signtool.exe toevoegen in omgevingsvariabelen
-
Open de Omgevingsvariabelen via het Startmenu.
-
Blader door de systeemvariabelen in de onderste tabel totdat u PATH in de variabelenamen vindt.
-
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.
- 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:
-
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
- Je wordt gevraagd een organisatie aan te maken als je dat nog niet hebt 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.
-
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'.
-
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.
- Klik op 'Create' en kopieer het token ergens naartoe. Je kunt het token later niet meer zien.
-
-
Een agent instellen en downloaden
-
Nadat we een token hebben verkregen, moeten we een zelfgehoste runner instellen. Dit is een machine waarop Signtool en ECSigningKSP zijn geïnstalleerd en geconfigureerd. Ga hiervoor terug naar de pagina Codeoverzicht en klik linksonder op Projectinstellingen.
-
Onder Pipelines ziet u Agent Pools. Klik daarop en vervolgens op standaard.
-
Klik linksboven op de nieuwe agent.
-
Download de agent die geschikt is voor uw besturingssysteem. Ik ga verder met Windows. Download de agent en pak deze uit naar de map "C:\agents". U kunt ook deze documentatie raadplegen voor meer hulp.
-
-
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.
-
De server-URL is nu https://dev.azure.com/<uw_organisatienaam>
Druk op Enter voor PAT bij het authenticatietype en geef bij de volgende vraag het eerder gekopieerde token op.
- Zodra de agent is geregistreerd, druk je op Enter voor Agent Pool (aangezien dit de standaardinstelling is). Als je je agent een naam wilt geven, kun je dat doen, maar druk dan op Enter om de naam CLIENT te gebruiken.
- Nadat de agent is toegevoegd, kunt u de werkmap op de standaardinstelling laten staan of naar eigen keuze wijzigen. Voor het uitvoeren van de agent als een service voert u 'Y' in. Voor het gebruikersaccount dat voor de service moet worden gebruikt, moet u ervoor zorgen dat dit 'Administrator' is. Dit is belangrijk omdat u beheerdersrechten nodig hebt om code te kunnen ondertekenen. Geef het wachtwoord op van uw beheerdersaccount op uw computer.
- Omdat we dit als een service hebben ingesteld, wordt de agent automatisch uitgevoerd; als we dit niet als een service hadden ingesteld, zouden we de agent handmatig moeten starten.
- Ga naar services.msc en scroll naar beneden naar Azure Pipeline Agent om te controleren of u 'Aanmelden als beheerder' hebt ingesteld. Als u dit niet hebt gedaan, kunt u dit zelf wijzigen. Klik op 'Aanmelden' en er verschijnt een dialoogvenster. Ga naar 'Aanmelden', stel dit in op 'Beheerder', voer het wachtwoord in en herstart de service. Zodra dit is gedaan, kunt u teruggaan naar Azure DevOps om de pijplijn te bouwen.
-
De pijplijn maken op Azure DevOps
-
Klik op 'Pijplijnen' in Azure DevOps om te beginnen en klik op 'Pijplijn maken' op de volgende pagina.
-
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.
-
Selecteer de repository waar uw code is opgeslagen.
-
In het gedeelte 'Configureren' klikt u, als u nog geen .yml-bestand in uw repository hebt, op 'Startpipeline'. Als u er wel een hebt, klikt u op 'Bestaande Azure-pipeline'. Voor de starterpipeline moet u mogelijk een nieuwe branch aanmaken of een commit uitvoeren op de hoofdbranch.
-
Schrijf het volgende script in de editor
Vervang de variabelen die onder zijn gespecificeerd Hieronder volgt een korte beschrijving van de verwachte variabele.
- : Dit verwijst naar de cryptografische sleutel die wordt gebruikt om de code te ondertekenen. Voorbeeld: evcodesigning
- : U moet de naam van een hash-algoritme opgeven, zoals SHA256, SHA384 of SHA512. Het moet een van deze drie waarden zijn.
- : Geef het pad op naar het codeondertekeningscertificaat dat u van de CodeSign Secure-portal hebt ontvangen.
- : 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
- : 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.
Let op : in het gedeelte 'variabelen' moet u dezelfde velden en waarden opgeven die u hebt ingesteld in uw omgevingsvariabele voor het P12-authenticatiecertificaat.
-
-
Azure DevOps-pijplijn uitvoeren
Wanneer je op 'Opslaan en uitvoeren' klikt, wordt er een vertakkingstag gevraagd. Zorg ervoor dat de naam die je hier opgeeft en de naam die je in het script onder 'Trigger' hebt ingevoerd, hetzelfde zijn voordat je het script uitvoert.
Zodra de build succesvol is afgerond, ziet u dat uw bestand met succes is ondertekend.
