De betrouwbaarheid van alle ooit uitgebrachte software hangt volledig af van het proces waarmee deze is ontwikkeld. Code ondertekening Het vormt de kern van dat vertrouwen: het bewijst dat er niet met een binair bestand is geknoeid en dat het daadwerkelijk van uw organisatie afkomstig is. Maar het handmatig ondertekenen van builds is foutgevoelig en vertraagt uw team. De betere oplossing is om het ondertekenen direct in uw project te integreren. CI/CD-pijplijnHet gebeurt dus automatisch, consistent en veilig bij elke build.
Deze handleiding leidt u door het integratieproces van CodeSign Secure van Encryption Consulting met CircleCI met behulp van Microsoft Signtool en een zelfgehoste CircleCI-runner op een Windows-machine. Met deze integratiestappen zal uw pipeline elke build automatisch ondertekenen met sleutels die veilig zijn opgeslagen in CodeSign Secure. HSM-ondersteund platform — waarbij er nooit privésleutels worden blootgesteld op de buildmachine.
Wat je nodig hebt
Voordat je begint, zorg ervoor dat je het volgende hebt geregeld:
- Een actieve CodeSign Secure account met portaaltoegang
- Een Windows-machine die als uw zelfgehoste CircleCI-runner zal fungeren.
- Een CircleCI-account
- Een GitHub-repository (of een andere ondersteunde repository) om te koppelen aan je CircleCI-project.
- Beheerderstoegang op de Windows-computer voor het installeren van tools.
Wat deze gids behandelt
De opzet is onderverdeeld in vier hoofdsecties, die elk voortbouwen op de vorige:
- Het opzetten van de EC KSP — Installeer en configureer de Key Storage Provider van Encryption Consulting op uw Windows-computer.
- P12-authenticatie instellen — Maak een authenticatiecertificaat voor de machine aan en configureer de omgevingsvariabelen.
- Signtool instellen — Installeer de Windows SDK en wijs uw omgeving naar Signtool.exe
- CircleCI instellen en uitvoeren — Maak uw organisatie-, runner-, project- en pipelineconfiguratie aan om alles met elkaar te verbinden.
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 belangrijkste doel ervan is om Windows-applicaties, zoals signtool.exe, in staat te stellen naadloos te communiceren met cryptografische sleutels. certificaten opgeslagen in een HSM.
Stappen:
1. Download de EC KSP
-
Log in op het CodeSign Secure-portaal en ga naar de sectie 'Ondertekeningstools' om 'EC KSP voor Windows' te downloaden.
- Pak het zipbestand uit om het bestand “Setup.msi” te verkrijgen.
2. 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 (de standaardmap is
C:\Program Files\Encryption Consulting\SigningKSP). -
Kies of je 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 het CodeSign Secure-portaal.
- Code – De geheime code die u hebt ingesteld tijdens de configuratie van de CodeSign Secure-oplossing.
- Identiteitstype – Houd dit veld op de standaardwaarde (2).
-
CodeSign Beveiligde URL – De URL om toegang te krijgen tot het portaal (vergeet niet “/api/” aan het einde van de URL toe te voegen).
-
Klik op Volgende en bevestig de installatie.
3. Configureer de instellingen van de Register-editor
Open de Register-editor en navigeer naar
HKEY_CURRENT_USER > Software > Encryption Consulting > SigningKSPdirectory.
Open nu het CodeSign Secure-portaal en navigeer naar Systeeminstellingen > GebruikerSelecteer de optie 'API-sleutel genereren'.
-
Maak een token aan voor uw account door een naam en de geldigheidsperiode op te geven. Vergeet niet het token te kopiëren, want het wordt slechts één keer weergegeven.
-
Voeg dit token toe aan de ”ectoken” veld in de Register-editor.
P12-authenticatiecertificaat instellen
Het instellen van een P12-certificaat houdt in dat u uw omgevingsvariabelen configureert om uw clientcomputer te authenticeren met CodeSign Secure van Encryption Consulting.
Stappen:
1. Maak een machineauthenticatiecertificaat aan.
-
Open het CodeSign Secure-portaal en navigeer naar Systeeminstellingen > GebruikerSelecteer de optie 'Authenticatiecertificaat genereren'.
- Selecteer de gebruikersnaam uit het keuzemenu en voer de gegevens in, zoals de certificaatnaam en de vervaldatum.
-
Het zal u dan voorzien van een .pfx Het certificaatbestand wordt weergegeven en ook het wachtwoord van het certificaatbestand wordt getoond.
NOTITIE: Dit wachtwoord wordt slechts één keer weergegeven. U moet het daarom kopiëren en veilig bewaren om de authenticatie met de CodeSign Secure-server te kunnen uitvoeren.
2. Configureer de omgevingsvariabelen
-
Open de omgevingsvariabelen vanuit het startmenu.
-
Voeg nieuwe systeemvariabelen toe door te klikken op de Nieuwe knop. Geef de volgende variabelenaam en de bijbehorende details op.
- EC_Client_Auth: Dit komt overeen met het pad naar uw SSL-authenticatiecertificaat, dat u kunt aanmaken via CodeSign Secure.
- EC_Client_Pass: Dit 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 debug-uitvoer voor EC KSP in te schakelen (1) of uit te schakelen (0).
Signtool instellen voor ondertekening
Opzetten tekengereedschap Voor het ondertekenen van code is het belangrijk 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:
1. Download en installeer de Windows SDK.
-
Gebruik de volgende downloadlink om de Windows Software Development Kit te downloaden: Windows SDK-downloads – Windows-apps | Microsoft Learn
-
Open het installatieprogramma zodra het is 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-ondertekeningstools voor desktop-apps” en selecteer 'Installeren'.
-
Ga naar het volgende pad, waar de tools naartoe gedownload zouden moeten zijn:
C:\Program Files (x86)\Windows Kits\10\binSelecteer de gewenste versiedirectory en controleer of de “signtool.exe” bestand aanwezig is.
- Zorg ervoor dat u zich in de x64 Kopieer het pad naar deze map.
2. Voeg het pad naar Signtool.exe toe aan de omgevingsvariabelen.
-
Open de Omgevingsvariabelen via het Startmenu.
-
Scroll naar beneden door de systeemvariabelen in de onderste tabel totdat u vindt... PATH in de variabelnamen.
-
Dubbelklik op PATH in systeemvariabelen en selecteren Nieuwe Aan de linkerkant van het scherm. Plak het gekopieerde mappad. “signtool.exe” in de nieuwe selectie.
- kies OK Onderaan om de pagina met omgevingsvariabelen te verlaten.
CircleCI instellen
Om CircleCI in te stellen, moet je de organisatie aanmaken, je project configureren en met name je buildmachines instellen met de runners en pipelines voor het ondertekenen van bestanden met behulp van signtool op een Windows-machine.
Stappen:
1. Maak een CircleCI-organisatie aan
-
Ga naar CircleCI en log in met je account. Je krijgt dan de optie om een nieuwe organisatie aan te maken of een bestaande organisatie te kiezen. In deze handleiding maken we een nieuwe organisatie aan.
-
Voer de unieke naam van de organisatie in.
-
Je wordt dan doorgestuurd naar de startpagina van je organisatie in het CircleCI-account.
2. Maak een lesmateriaal aan voor een hardloper die zijn eigen hardlooproute organiseert.
-
Selecteer het gedeelte 'Hardlopers' in de linkerzijbalk.
-
Je wordt eerst gevraagd de algemene voorwaarden te bekijken en te bevestigen, waarna je een resourceklasse voor de hardloper kunt aanmaken.
-
Je wordt dan teruggeleid naar het Runners-gedeelte om een resourceklasse aan te maken.
-
Klik op "Opslaan en doorgaan" en u ontvangt het authenticatietoken.
NOTITIE: Kopieer en bewaar dit token veilig, want we hebben het in de volgende stappen nodig om de runner te authenticeren met de CircleCI-pipeline.
-
Klik op "Doorgaan" om deze hardloper aan uw organisatie toe te voegen.
3. Installeer de Runner op uw Windows-computer.
- Nadat we een token hebben verkregen, moeten we een zelfgehoste runner op onze machine installeren. Dit is de machine waarop Signtool en ECSigningKSP zijn geïnstalleerd en geconfigureerd.
-
Download het script “Install-CircleCIRunner.ps1” van GitHub op deze automaat.
- Open PowerShell als beheerder en navigeer naar de map waarin u het scriptbestand hebt geplaatst.
-
Voer het volgende commando uit:
-
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072;
-
./Install-CircleCIRunner.ps1;
-
- Als onderdeel van de installatie wordt het configuratiebestand voor de machinerunner (runner-agent-config.yaml) geopend in Kladblok. Vul de gevraagde informatie in. Het configuratiebestand bevindt zich standaard in de installatiemap, C:\Program Files\CircleCI.
-
Voer het authenticatietoken in dat we hebben aangemaakt tijdens het maken van de Resource-klasse.
- Na het instellen van de runner zal deze automatisch starten en naar taken gaan zoeken.
-
Je kunt een hardloper zien op de CircleCI-pagina.
4. Maak een project aan en stel een pijplijn in.
-
Nu gaan we terug naar de startpagina van de organisatie om een project aan te maken en de pipeline te initialiseren.
-
Klik op "Een project maken" en selecteer de optie "Uw softwaretoepassing bouwen, testen en implementeren".
-
Voer de projectnaam in en klik op de optie "Volgende: een pipeline instellen".
-
Geef de naam van de pipeline op en klik op de optie "Volgende: kies een repository".
-
Je kunt zelf kiezen met welke repository je je pipeline wilt verbinden. In deze handleiding gebruiken we een GitHub-repository.
-
Selecteer de repository nadat je je GitHub-account hebt gekoppeld aan CircleCI Pipeline.
-
Klik op de optie "Configuratiebestand voorbereiden" om een voorbeeldconfiguratie-YAML-bestand naar een nieuwe branch in uw gekoppelde repository te pushen.
-
Vervolgens wordt een voorbeeldrepository weergegeven. Klik op de optie "Volgende: stel uw triggers in".
-
Je kunt de triggers naar wens instellen. We laten dit standaard staan, waarbij de pipeline bij elke nieuwe commit wordt uitgevoerd. Klik op de optie "Volgende: controleren en de instellingen voltooien".
-
Controleer je instellingen en klik op de optie "Configuratie opslaan en uitvoeren".
-
De pipeline wordt uitgevoerd met dit voorbeeldconfiguratiebestand om de pipeline te testen.
-
Je kunt je pipeline bekijken in het gedeelte "Pipelines" in de linkerzijbalk.
5. Werk de pijplijnconfiguratie bij
- We gaan nu het config.yml-bestand in onze repositorybranch bijwerken om het signtool-commando uit te voeren en de ondertekening te voltooien.
Volg de onderstaande structuur van het config.yml-bestand om de signtool-opdracht via de CircleCI-pipeline uit te voeren:
Hier is een werkend config.yml-bestand ter referentie, dat overeenkomt met de details die we in de eerdere stappen hebben gebruikt om de resourceklasse en signtool te configureren.
-
Wanneer je dit updateconfiguratiebestand naar je repositorybranch commit, zou de runner de pipeline automatisch moeten starten.

6. Voer de CircleCI-pipeline uit.
-
Zodra het bestand is opgeslagen, ziet u een nieuwe pipeline-uitvoering in het gedeelte Pipeline.
-
Na succesvolle afronding van de pipeline kunt u de eigenschappen van het te ondertekenen bestand controleren op een geldige handtekening.
Conclusie
Je hebt nu een volledig geautomatiseerde codeondertekeningspipeline opgezet met CircleCI en CodeSign SecureTelkens wanneer een ontwikkelaar een commit naar uw repository uitvoert, wordt de pipeline geactiveerd, pakt de taak op in uw zelfgehoste Windows-runner en ondertekent de output met Signtool — allemaal zonder dat iemand handmatig een privésleutel hoeft te beheren. Deze aanpak biedt een aantal belangrijke voordelen voor uw team, zoals consistentie, beveiliging en traceerbaarheid. Vanuit hier kunt u deze configuratie uitbreiden naar meerdere pipelines, extra ondertekeningscertificaten of andere CI/CD-platformen.
Mocht u problemen ondervinden of meer geavanceerde configuraties willen verkennen, dan staat het team van Encryption Consulting voor u klaar. Meld u aan voor een demo of neem contact op met het team van Encryption Consulting via www.encryptionconsulting.com om te ontdekken hoe CodeSign Secure de softwareleveringsketen van uw organisatie veilig en efficiënt kan maken.
