TeamCity Integratiehandleiding
Door CodeSign Secure te integreren met TeamCity automatiseert u de stap voor codeondertekening in uw buildconfiguraties. Zo weet u zeker dat uw software-artefacten veilig worden ondertekend voordat ze worden vrijgegeven of geïmplementeerd, zonder handmatige tussenkomst.
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
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:
-
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/
-
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.
-
TeamCity instellen
Bij het instellen van TeamCity moet u uw TeamCity-omgeving, met name de build-agents en build-configuraties, voorbereiden op het automatisch ondertekenen van code met CodeSign Secure en KSP van Encryption Consulting.
Stappen:
-
Download en installeer de TeamCity-applicatie
-
U kunt de gratis TeamCity-applicatie downloaden of een betaalde Enterprise-versie met behulp van de linkEr zijn drie besturingssystemen beschikbaar voor de applicatie: Linux, Windows en macOS. We werken aan het uitvoerbare bestand voor Windows.
-
Voer de toepassing uit om de TeamCity-server in uw omgeving te installeren.
-
Accepteer de algemene voorwaarden en klik op “Ik ga akkoord”.
-
Behoud de standaardinstellingen voor eenvoudigere integratie en beheer van de server.
-
Klik op Opslaan en vervolgens op OK om door te gaan naar de volgende stap van het aanmaken van een account.
-
Selecteer de optie om de TeamCity Server en TeamCity Agent onder het gebruikersaccount te draaien en klik op Volgende. U wordt gevraagd in te loggen als de huidige gebruiker van uw systeem.
-
Selecteer beide opties om de build-agentservice en de TeamCity-serverservice te starten. Klik op Volgende.
-
Klik op Voltooien. Hiermee gaat u naar de webinterface van TeamCity, waar u uw projecten kunt maken en het configuratiebeleid kunt instellen.
-
De webinterface draait op localhost op poort 8111 (standaard). Klik op Doorgaan om de locatie van de gegevensdirectory voor de TeamCity-server in te stellen. Open TeamCity via een browser door naar http://localhost:8111 te gaan.
-
Selecteer de juiste database waarin de buildgeschiedenis en uw accountgerelateerde informatie worden opgeslagen. We kiezen de HSQLDB-database voor dit project.
-
Accepteer de licentieovereenkomst en klik op Doorgaan.
-
Maak nu een inlogaccount aan voor uw CI/CD-pijplijn en projecten.
-
-
Maak een nieuw project
-
Na een succesvolle login wordt u doorgestuurd naar het TeamCity Dashboard. Nu kunt u beginnen met het aanmaken van uw eerste project. Klik op "Project aanmaken".
-
Er zijn twee opties wanneer u een project aanmaakt in TeamCity. U kunt dit doen met een repository-account of handmatig. Laten we eerst het handmatige proces bekijken. Voer de vereiste gegevens voor uw project in.
-
Zodra de aanmaak is geslaagd, wordt u gevraagd een buildconfiguratie te maken.
-
Ook hier heb je twee opties: repository of handmatig proces. We gaan weer verder met het handmatige proces. Vul de vereiste gegevens in en klik op 'Aanmaken'.
-
Vervolgens wordt u gevraagd de gegevens voor de versiebeheerinstellingen in te voeren. Dit is een optionele stap. We slaan deze stap voor dit project over.
-
-
Maak een pijplijn in uw project
-
Nadat we de algemene project- en configuratie-instellingen hebben ingesteld, kunnen we buildstappen aan onze pijplijn toevoegen. Dit zijn de processen die daadwerkelijk codeondertekeningsbewerkingen uitvoeren.
-
Klik op de knop ‘Buildstap toevoegen’ en kies ‘Opdrachtregel’ uit de vervolgkeuzelijst.
-
Vervolgens wordt u gevraagd de gegevens voor de versiebeheerinstellingen in te voeren. Dit is een optionele stap. We slaan deze stap voor dit project over.
- Geef de basisgegevens op, zoals de stapnaam en stap-ID.
-
Selecteer de optie Aangepaste scriptcode in de vervolgkeuzelijst van het veld Script en voer het script cmd in om de ondertekeningsbewerking uit te voeren met de vereiste gegevens.
Hieronder vindt u een voorbeeld van een opdrachtregelscript ter referentie:
signtool sign /csp "Encryptie Consulting Sleutelopslag Provider" /kc /fd /F /tr /td
Hieronder staan de vlaggen en hun betekenis in de opdracht:
- /csp: Hiermee wordt de te gebruiken Key Service Provider gespecificeerd. Dit moet altijd "Encryption Consulting Key Storage Provider" zijn.
- /kc: Dit zou de naam moeten zijn van de persoonlijke sleutel die aan uw certificaat is gekoppeld. Dit zal waarschijnlijk dezelfde naam zijn als de certificaatnaam.
- /fd: Dit is het ondertekeningsalgoritme dat moet worden gebruikt met de ondertekeningsfunctie. Dit kan SHA256, SHA384 of SHA512 zijn.
- /f: De naam van het certificaat dat voor ondertekening wordt gebruikt. Dit moet dezelfde naam zijn als de /kc-vlag.
- /tr (optioneel): Dit is de URL van de te gebruiken tijdstempelautoriteit. Als /tr niet in gebruik is en tijdstempeling niet vereist is, moet /td ook uit deze opdracht worden weggelaten.
- /td (optioneel): Dit is het ondertekeningsalgoritme dat moet worden gebruikt met de tijdstempelserver. Dit kan SHA256, SHA384 of SHA512 zijn. Dit algoritme moet hetzelfde zijn als het veld /fd. Als /tr niet in gebruik is en tijdstempeling niet vereist is, moet /td ook uit deze opdracht worden weggelaten.
- : Dit is de naam van het te ondertekenen bestand. Dit bestand moet zich in de directory bevinden waarin deze opdracht wordt uitgevoerd.
-
De hele stap zou er ongeveer zo uit moeten zien als op de onderstaande afbeelding:
-
Herhaal nu het bovenstaande proces om een andere buildstap te maken voor verificatie van het ondertekende bestand.
Hieronder vindt u een voorbeeld van een opdrachtregelscript ter referentie:
signtool verifiëren
-
De hele stap zou er ongeveer zo uit moeten zien als op de onderstaande afbeelding:
-
Voer TeamCity Pipeline uit
- Om de pijplijn uit te voeren, klikt u op 'Uitvoeren', rechtsboven in het projectvenster.
-
Nadat u op 'Uitvoeren' hebt geklikt, kunt u de live-actie van de pijplijn bekijken door te klikken op 'Agenten' (linksboven) -> Selecteer de naam van de agent -> Bouwgeschiedenis.
-
Een succesvolle uitvoering van een pipeline ziet er als volgt uit. Hier ziet u dat beide buildstappen - ondertekening en verificatie - zijn voltooid.
