Integratiehandleiding voor Azure DevOps Cloud Signing

Dit is een handleiding over hoe Azure DevOps kan worden geïntegreerd met eSigner CodeSignTool om geautomatiseerde code-ondertekening uit te voeren.

CodeSignTool is een opdrachtregelprogramma dat geschikt is voor ondertekeningsprocessen in de cloud en naadloos integreert met verschillende CI/CD-platforms. Het maakt deel uit van eSigner: onze service voor ondertekening op afstand die een efficiënte, veilige en gebruiksvriendelijke benadering biedt voor het ondertekenen van codes.

SSL.com's EV Code ondertekening certificaten helpen uw code te beschermen tegen ongeautoriseerde manipulatie en compromittering met het hoogste validatieniveau, en zijn beschikbaar voor slechts $ 249 per jaar. Je kan ook gebruik uw EV Code Signing-certificaat op schaal in de cloud met eSigner.

BESTEL NU

Omgevingsvariabelen

  • USERNAME: gebruikersnaam van SSL.com-account. (Verplicht)
  • WACHTWOORD: SSL.com-accountwachtwoord (vereist)
  • CREDENTIAL_ID: Referentie-ID voor ondertekeningscertificaat. Als credential_id wordt weggelaten en de gebruiker slechts één eSigner-certificaat voor het ondertekenen van code heeft, zal CodeSignTool dat standaard gebruiken. Als de gebruiker meer dan één code-ondertekeningscertificaat heeft, is deze parameter verplicht. (Verplicht)
  • TOTP_GEHEIM: OAuth TOTP-geheim. U hebt toegang tot gedetailleerde informatie over: https://www.ssl.com/how-to/automate-esigner-ev-code-signing (Verplicht)
  • OMGEVING_NAME : 'TEST' of 'PROD' omgeving. (Verplicht)

 

Ingangen

  • invoer_bestandspad: Pad van codeobject dat moet worden ondertekend. (Verplicht)
  • output_dir_pad: Directory waar ondertekende code-object(en) zullen worden geschreven. Als output_path wordt weggelaten, wordt het bestand gespecificeerd in -file_path overschreven door het ondertekende bestand.

Maak een project op visualstudio.com

Maak een nieuw .yml-bestand in uw code-editor

Integratietriggers en omgevingsvariabelen instellen

Doorlopende integratietriggers

op gang brengen:

  - geen

 

Definieert omgevingsvariabelen globaal. De eigenschap op taakniveau overschrijft globale variabelen

variabelen:

  buildConfiguratie: 'Release'

Groepeer taken in fasen

Schrijf de stappen voor de bouwfase. Alle taken in één fase moeten worden voltooid voordat de volgende fase wordt uitgevoerd.

stadia:

  – fase: bouwen

    # Wanneer de workflow wordt uitgevoerd, is dit de naam die wordt vastgelegd

    Geïmporteerd: bouwen

    banen:

      - functie:

        zwembad:

           Taak uitvoeren op Windows VM's

          vmImage: 'windows-nieuwste'

        stappen:

           Installeer Dotnet 6.0.x

        – taak: UseDotNet@2

          Geïmporteerd: 'Installeer .NET Core SDK'

          ingangen:

            versie: '6.0.x'

            performMultiLevelLookup: waar

            includePreviewVersions: waar

       

            Herstel Dotnet-project

        – taak: DotNetCoreCLI@2

          Geïmporteerd: herstellen

          ingangen:

            commando: 'herstellen'

 

           Bouw een dotnet-project met Release-configuratie

        – taak: DotNetCoreCLI@2

          Geïmporteerd: bouwen

          ingangen:

            commando: bouwen

            projecten: HelloWorld.csproj

            argumenten: '–configuratie $(buildConfiguration)'

 

           Directory's maken voor ondertekende artefacten

        – powershell: Nieuw-Item -ItemType Directory -Pad ./artefacten

          displayName: 'Mappen gemaakt voor artefacten'

 

           Directory's maken voor ondertekende pakketten

        – powershell: Nieuw-Item -ItemType Directory -Pad ./pakketten

          displayName: 'Mappen voor pakketten gemaakt'

 

           Kopieer artefact als ondertekeningspad

        – powershell: Copy-Item ./bin/Release/netcoreapp3.1/HelloWorld-0.0.1.dll -Destination ./packages/HelloWorld.dll

          displayName: "Kopieer gebouwde artefacten naar de map met pakketten"

 

           Bewaar artefact om ondertekeningstaak te gebruiken

        – taak: PublishBuildArtifacts@1

          Geïmporteerd: 'Opslaan om te worden ondertekend artefact om te downloaden'

          ingangen:

            pathtoPublish: ./packages/HelloWorld.dll

            artefactNaam: HelloWorld.dll

Schrijf de stappen voor de Sign-fase

– podium: Teken

    # Wanneer de workflow wordt uitgevoerd, is dit de naam die wordt vastgelegd

    Geïmporteerd: teken

    banen:

    - functie:

      zwembad:

         Taak uitvoeren op Ubuntu VM's

        vmImage: “Ubuntu-nieuwste”

      stappen:

         Directory's maken voor ondertekende artefacten

      – script: mkdir -p ./artefacten && mkdir -p ./pakketten

        displayName: "Mappen gemaakt voor artefacten en pakketten"

 

         Download het te ondertekenen artefact

      – taak: DownloadPipelineArtifact@2

        ingangen:

          artefact: HelloWorld.dll

          downloadPad: ./packages

 

         Installeer Docker 17.09.0-ce

      – taak: DockerInstaller@0

        Geïmporteerd: Docker-installatieprogramma

        ingangen:

          dockerVersie: 17.09.0-ce

          releaseType: stabiel

 

         Docker Pull CodeSigner Docker-afbeelding

      – script: docker pull ghcr.io/sslcom/codesigner:latest

        Geïmporteerd: 'Docker Pull CodeSigner Docker-afbeelding'

         Onderteken artefact met CodeSigner docker-afbeelding

      – script: docker run -i –rm –dns 8.8.8.8 –netwerkhost –volume $PWD/packages:/codesign/examples –volume $PWD/artifacts:/codesign/output

                -e GEBRUIKERSNAAM=$(USERNAME) -e WACHTWOORD=$(WACHTWOORD) -e CREDENTIAL_ID=$(CREDENTIAL_ID) -e TOTP_SECRET=$(TOTP_SECRET)

Als het wachtwoord speciale tekens bevat, moet het tussen aanhalingstekens staan.

                -e ENVIRONMENT_NAME=$(ENVIRONMENT_NAME) ghcr.io/sslcom/codesigner:laatste teken -input_file_path=/codesign/examples/HelloWorld.dll

                -output_dir_path=/codesign/uitvoer

        Geïmporteerd: 'Onderteken artefact met CodeSigner docker-afbeelding'

 

         Gesigneerd artefact opslaan om te downloaden

      – taak: PublishBuildArtifacts@1

        Geïmporteerd: 'Getekend artefact opslaan om te downloaden'

        ingangen:

          pathtoPublish: ./artefacts/HelloWorld.dll

          artefactNaam: HelloWorld.dll

Maak een nieuw .gitignore-bestand

Typ in:

bak

obj

.vscode

Typ op de berichtenbalk Create pipeline.yml en klik op de Plegen

SSL.com's EV Code ondertekening certificaten helpen uw code te beschermen tegen ongeautoriseerde manipulatie en compromittering met het hoogste validatieniveau, en zijn beschikbaar voor slechts $ 249 per jaar. Je kan ook gebruik uw EV Code Signing-certificaat op schaal in de cloud met eSigner.

BESTEL NU

Ga verder om op de . te klikken Wijzigingen synchroniseren 

Ga naar visualstudio.com en klik op Repos op het dashboard

Vernieuw de pagina om het yml-bestand te zien

Klik Pijpleidingen op het dashboard

Klik vervolgens op Pijplijn maken

Klik op Azure opslagplaatsen Git

Selecteer uw YAML-bestand

Klik Variabelen knop gevolgd door Nieuwe variabele

Plaats de waarde voor elke omgevingsvariabele en klik op de OK 

Klik op het + teken om elke variabele toe te voegen

Nadat u alle variabelen hebt ingevoerd, gaat u verder met het maken van uw pijplijn

Voer uw pijplijn uit

Klik Pijpleidingen op het dashboard. Klik op de drie stippen (meer opties) in uw pijplijn. Klik Pijplijn uitvoeren. Klik ten slotte op lopen knop.

Klik op Bouwen om de bouwfase te starten

Controleer of elke taak in de bouwfase succesvol is

Klik op de vervolgkeuzepijl naast Jobomschrijving: om de status van elke build-taak te zien

Start de ondertekenfase door te klikken op Jobomschrijving:

Controleer of elke stap in het ondertekeningsproces succesvol is

Controleer nogmaals of zowel de bouw- als de tekenfase succesvol zijn

U kunt verwijzen naar de SSL.com Github-repository die de broncodes van de docker-afbeelding bevat en beschrijft hoe deze te gebruiken: https://github.com/SSLcom/ci-images 

Voorbeeld van Azure DevOps-pijplijn

Bekijk het voorbeeld van de Azure DevOps-pijplijn waarop we hebben gemaakt github.com/SSLcom/codesigner-azuredevops-sample

Andere integratiehandleidingen voor ondertekening op afstand

Oplossingen op maat nodig? 

Met onze deskundige kennis en vijfsterrenondersteuningspersoneel staan ​​we klaar en bereid om met u samen te werken aan aangepaste oplossingen of grote ondertekeningskortingen op ondernemingsniveau. Vul het onderstaande formulier in en we nemen contact met je op.

Twitter
Facebook
LinkedIn
Reddit
E-mail

Blijf geïnformeerd en veilig

SSL.com is een wereldleider op het gebied van cyberbeveiliging, PKI en digitale certificaten. Meld u aan om het laatste branchenieuws, tips en productaankondigingen te ontvangen van SSL.com.

We willen graag uw feedback

Vul onze enquête in en laat ons uw mening over uw recente aankoop weten.