Integrationsguide för Azure DevOps Cloud Signing

Det här är en guide om hur Azure DevOps kan integreras med eSigner CodeSignTool för att utföra automatisk kodsignering.

CodeSignTool är ett kommandoradsverktyg som är lämpligt för molnkodsigneringsprocesser och sömlöst integreras med olika CI/CD-plattformar. Det är en del av eSigner: vår fjärrsigneringstjänst som erbjuder en effektiv, säker och användarvänlig metod för kodsignering.

SSL.com s EV Kodsignering certifikat hjälper till att skydda din kod från obehörig manipulering och kompromissa med den högsta nivån av validering, och är tillgängliga för så lite som $ 249 per år. Du kan också använd ditt EV Code Signing-certifikat i stor skala i molnet med eSigner.

BESTÄLL NU

Miljövariabler

  • USERNAME: Användarnamn för SSL.com-konto. (Nödvändig)
  • LÖSENORD: Lösenord för SSL.com-konto (krävs)
  • CREDENTIAL_ID: Autentiserings-ID för signering av certifikat. Om credential_id utelämnas och användaren bara har ett eSigner-kodsigneringscertifikat, kommer CodeSignTool att använda det som standard. Om användaren har mer än ett kodsigneringscertifikat är denna parameter obligatorisk. (Nödvändig)
  • TOTP_SECRET: OAuth TOTP-hemlighet. Du kan komma åt detaljerad information om https://www.ssl.com/how-to/automate-esigner-ev-code-signing (Nödvändig)
  • ENVIRONMENT_NAME : 'TEST' eller 'PROD' miljö. (Nödvändig)

 

ingångar

  • input_file_path: Sökväg till kodobjekt som ska signeras. (Nödvändig)
  • output_dir_path: Katalog där signerade kodobjekt kommer att skrivas. Om output_path utelämnas kommer filen som anges i -file_path att skrivas över med den signerade filen.

Skapa ett projekt på visualstudio.com

Skapa en ny .yml-fil i din kodredigerare

Ställ in integrationstriggers och miljövariabler

Kontinuerlig integration utlöser

utlösare:

  - ingen

 

Definierar miljövariabler globalt. Jobbnivåegenskap åsidosätter globala variabler

variabler:

  buildConfiguration: 'Release'

Gruppera jobb i etapper

Skriv stegen för byggskedet. Alla jobb i ett steg måste slutföras innan nästa steg utförs.

steg:

  – etapp: bygga

    # När arbetsflödet körs är detta namnet som loggas

    displayName: Bygg

    jobb:

      - jobb:

        slå samman:

           Kör jobb på Windows virtuella datorer

          vmImage: 'Windows-senaste'

        steg:

           Installera Dotnet 6.0.x

        – uppgift: UseDotNet@2

          displayName: 'Installera .NET Core SDK'

          ingångar:

            version: '6.0.x'

            performMultiLevelLookup: sant

            includePreviewVersions: true

       

            Återställ Dotnet-projektet

        – uppgift: DotNetCoreCLI@2

          displayName: Återställ

          ingångar:

            kommando: 'återställ'

 

           Bygg dotnet-projekt med Release-konfiguration

        – uppgift: DotNetCoreCLI@2

          displayName: Bygg

          ingångar:

            kommando: bygga

            projekt: HelloWorld.csproj

            argument: '–configuration $(buildConfiguration)'

 

           Skapa kataloger för signerade artefakter

        – powershell: New-Item -ItemType Directory -Path ./artifacts

          displayName: 'Skapade kataloger för artefakter'

 

           Skapa kataloger för signerade paket

        – powershell: New-Item -ItemType Directory -Path ./packages

          displayName: 'Skapade kataloger för paket'

 

           Kopiera artefakt som signeringsväg

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

          displayName: "Kopiera byggda artefakter till paketkatalogen"

 

           Spara artefakt för att använda signeringsjobb

        – uppgift: PublishBuildArtifacts@1

          displayName: 'Spara för att vara signerad artefakt för nedladdning'

          ingångar:

            pathtoPublish: ./packages/HelloWorld.dll

            artefaktnamn: HelloWorld.dll

Skriv stegen för Sign-scenen

– scen: Sign

    # När arbetsflödet körs är detta namnet som loggas

    displayName: Sign

    jobb:

    - jobb:

      slå samman:

         Kör jobb på Ubuntu virtuella datorer

        vmImage: "Ubuntu-senaste"

      steg:

         Skapa kataloger för signerade artefakter

      – skript: mkdir -p ./artifacts && mkdir -p ./packages

        displayName: "Skapade kataloger för artefakter och paket"

 

         Ladda ner artefakten som ska signeras

      – uppgift: DownloadPipelineArtifact@2

        ingångar:

          artefakt: HelloWorld.dll

          nedladdningsväg: ./paket

 

         Installera Docker 17.09.0-ce

      – uppgift: DockerInstaller@0

        displayName: Docker Installer

        ingångar:

          dockerVersion: 17.09.0-ce

          releaseType: stabil

 

         Docker Pull CodeSigner Docker Image

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

        displayName: 'Docker Pull CodeSigner Docker Image'

         Sign artefakt med CodeSigner docker-bild

      – script: docker run -i –rm –dns 8.8.8.8 –nätverksvärd –volym $PWD/paket:/codesign/exempel –volym $PWD/artefakter:/codesign/output

                -e ANVÄNDARNAMN=$(USERNAME) -e LÖSENORD=$(LÖSENORD) -e CREDENTIAL_ID=$(CREDENTIAL_ID) -e TOTP_SECRET=$(TOTP_SECRET)

Om lösenordet har specialtecken måste det stå inom citattecken.

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

                -output_dir_path=/codesign/output

        displayName: 'Signeringsartefakt med CodeSigner docker-bild'

 

         Spara signerad artefakt för nedladdning

      – uppgift: PublishBuildArtifacts@1

        displayName: 'Spara signerad artefakt för nedladdning'

        ingångar:

          pathtoPublish: ./artifacts/HelloWorld.dll

          artefaktnamn: HelloWorld.dll

Skapa en ny .gitignore-fil

Skriv in:

bin

obj

.vscode

I meddelandefältet skriver du Skapad pipeline.yml och klickar på Begå Knappen

SSL.com s EV Kodsignering certifikat hjälper till att skydda din kod från obehörig manipulering och kompromissa med den högsta nivån av validering, och är tillgängliga för så lite som $ 249 per år. Du kan också använd ditt EV Code Signing-certifikat i stor skala i molnet med eSigner.

BESTÄLL NU

Fortsätt att klicka på Synkronisera ändringar Knappen

Fortsätt till visualstudio.com och klicka resten på instrumentbrädan

Uppdatera sidan för att se yml-filen

Klicka Rörledningar på instrumentbrädan

Klicka sedan på Skapa Pipeline

Klicka på Azure Repos Git

Välj din YAML-fil

Klicka variabler knappen följt av Ny variabel

Placera värdet för varje miljövariabel och klicka på OK Knappen

Klicka på +-tecknet för att fortsätta lägga till varje variabel

Efter att ha placerat in alla variabler, fortsätt att skapa din pipeline

Kör din pipeline

Klicka Rörledningar på instrumentbrädan. Klicka på de tre punkterna (fler alternativ) på din pipeline. Klick Kör pipeline. Slutligen klickar du på Körning knapp.

Klicka på Bygg för att starta byggskedet

Kontrollera om varje jobb i byggskedet är framgångsrikt

Klicka på rullgardinspilen bredvid Jobb för att se status för varje byggjobb

Initiera Sign-stadiet genom att klicka Jobb

Kontrollera om varje steg i signeringsprocessen är framgångsrik

Dubbelkolla om både bygg- och skyltsteg är framgångsrika

Du kan hänvisa till SSL.com Github repository som innehåller källkoderna för docker-bilden och beskriver hur man använder den: https://github.com/SSLcom/ci-images 

Exempel på Azure DevOps Pipeline

Kolla in exempel på Azure DevOps-pipeline vi har skapat på github.com/SSLcom/codesigner-azuredevops-sample

Andra guider för integrering av fjärrsignering

Behöver du anpassade lösningar? 

Med vår expertkunskap och femstjärniga supportpersonal är vi redo och villiga att arbeta med dig på skräddarsydda lösningar eller rabatter på stora volymer av signering på företagsnivå. Fyll i formuläret nedan så hör vi av oss.

Twitter
Facebook
LinkedIn
reddit
E-mail address

Håll dig informerad och säker

SSL.com är en global ledare inom cybersäkerhet, PKI och digitala certifikat. Registrera dig för att få de senaste branschnyheterna, tipsen och produktmeddelanden från SSL.com.

Vi vill gärna ha din feedback

Följ vår undersökning och låt oss veta vad du tycker om ditt senaste köp.