Azure DevOps Cloud Signing Integration Guide

Dette er en guide til, hvordan Azure DevOps kan integreres med eSigner CodeSignTool for at udføre automatiseret kodesignering.

CodeSignTool er et kommandolinjeværktøj, der er velegnet til cloud-kodesigneringsprocesser og problemfrit integreres med forskellige CI/CD-platforme. Det er en del af eSigner: vores fjernsigneringstjeneste, der tilbyder en effektiv, sikker og brugervenlig tilgang til kodesignering.

SSL.com s EV Kodesignering certifikater hjælper med at beskytte din kode mod uautoriseret manipulation og gå på kompromis med det højeste niveau af validering og er tilgængelige for så lidt som $ 249 pr. Du kan også brug dit EV Code Signing-certifikat i stor skala i skyen ved hjælp af eSigner.

BESTIL NU

Miljøvariabler

  • USERNAME: SSL.com konto brugernavn. (Påkrævet)
  • PASSWORD: SSL.com kontoadgangskode (påkrævet)
  • CREDENTIAL_ID: Legitimations-id til signering af certifikat. Hvis credential_id er udeladt, og brugeren kun har ét eSigner-kodesigneringscertifikat, vil CodeSignTool som standard være det. Hvis brugeren har mere end ét kodesigneringscertifikat, er denne parameter obligatorisk. (Påkrævet)
  • TOTP_SECRET: OAuth TOTP-hemmelighed. Du kan få adgang til detaljerede oplysninger om https://www.ssl.com/how-to/automate-esigner-ev-code-signing (Påkrævet)
  • ENVIRONMENT_NAME : 'TEST' eller 'PROD' miljø. (Påkrævet)

 

Indgange

  • input_file_path: Sti til kodeobjekt, der skal signeres. (Påkrævet)
  • output_dir_path: Bibliotek, hvor signeret kodeobjekt(er) vil blive skrevet. Hvis output_path er udeladt, vil filen specificeret i -file_path blive overskrevet med den signerede fil.

Opret et projekt på visualstudio.com

Opret en ny .yml-fil på din kodeeditor

Indstil integrationstriggere og miljøvariabler

Kontinuerlig integration udløser

udløser:

  - ingen

 

Definerer miljøvariabler globalt. Jobniveauegenskab tilsidesætter globale variabler

variabler:

  buildConfiguration: 'Release'

Gruppér job i etaper

Skriv trinene til byggefasen. Alle opgaver i én fase skal afsluttes, før den næste fase udføres.

niveauer:

  – etape: bygge

    # Når arbejdsgangen kører, er dette navnet, der logges

    displaynavn: Byg

    job:

      - job:

        pool:

           Kør job på Windows VM'er

          vmImage: 'Windows-nyeste'

        trin:

           Installer Dotnet 6.0.x

        – opgave: UseDotNet@2

          displayName: 'Installer .NET Core SDK'

          inputs:

            version: '6.0.x'

            performMultiLevel Lookup: sand

            includePreviewVersions: sand

       

            Gendan Dotnet-projektet

        – opgave: DotNetCoreCLI@2

          displayName: Gendan

          inputs:

            kommando: 'gendan'

 

           Byg dotnet-projekt med udgivelseskonfiguration

        – opgave: DotNetCoreCLI@2

          displaynavn: Byg

          inputs:

            kommando: bygge

            projekter: HelloWorld.csproj

            argumenter: '–konfiguration $(buildConfiguration)'

 

           Opret mapper til signerede artefakter

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

          displayName: 'Oprettet mapper til artefakter'

 

           Opret mapper til signerede pakker

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

          displayName: 'Oprettet mapper til pakker'

 

           Kopiér artefakt til at være signeringssti

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

          displayName: "Kopier byggede artefakter til pakkemappe"

 

           Gem artefakt for at bruge signeringsjob

        – opgave: PublishBuildArtifacts@1

          displayName: 'Gem for at blive signeret artefakt til download'

          inputs:

            pathtoPublish: ./packages/HelloWorld.dll

            artefaktnavn: HelloWorld.dll

Skriv trinene til Sign-fasen

– scene: Sign

    # Når arbejdsgangen kører, er dette navnet, der logges

    displaynavn: Tegn

    job:

    - job:

      pool:

         Kør job på Ubuntu VM'er

        vmImage: "Ubuntu-seneste"

      trin:

         Opret mapper til signerede artefakter

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

        displayName: "Oprettet mapper til artefakter og pakker"

 

         Download artefakten, der skal signeres

      – opgave: DownloadPipelineArtifact@2

        inputs:

          artefakt: HelloWorld.dll

          downloadPath: ./pakker

 

         Installer Docker 17.09.0-ce

      – opgave: DockerInstaller@0

        displayName: Docker Installer

        inputs:

          dockerVersion: 17.09.0-ce

          releaseType: stabil

 

         Docker Pull CodeSigner Docker-billede

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

        displayName: 'Docker Pull CodeSigner Docker Image'

         Signer artefakt med CodeSigner docker-billede

      – script: docker run -i –rm –dns 8.8.8.8 –netværksvært –volumen $PWD/pakker:/codesign/eksempler –volumen $PWD/artefakter:/codesign/output

                -e BRUGERNAVN=$(BRUGERNAVN) -e PASSWORD=$(PASSWORD) -e CREDENTIAL_ID=$(CREDENTIAL_ID) -e TOTP_SECRET=$(TOTP_SECRET)

Hvis adgangskoden har specialtegn, skal den stå i anførselstegn.

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

                -output_dir_path=/codesign/output

        displayName: 'Sign artefakt med CodeSigner docker billede'

 

         Gem signeret artefakt til download

      – opgave: PublishBuildArtifacts@1

        displayName: 'Gem signeret artefakt til download'

        inputs:

          pathtoPublish: ./artifacts/HelloWorld.dll

          artefaktnavn: HelloWorld.dll

Opret en ny .gitignore-fil

Indtaste:

bin

obj

.vscode

På meddelelseslinjen skal du indtaste Oprettet pipeline.yml og klikke på Commit .

SSL.com s EV Kodesignering certifikater hjælper med at beskytte din kode mod uautoriseret manipulation og gå på kompromis med det højeste niveau af validering og er tilgængelige for så lidt som $ 249 pr. Du kan også brug dit EV Code Signing-certifikat i stor skala i skyen ved hjælp af eSigner.

BESTIL NU

Fortsæt med at klikke på Synkroniser ændringer .

Fortsæt til visualstudio.com og klik Repos på instrumentbrættet

Opdater siden for at se yml-filen

Klik Rørledninger på instrumentbrættet

Klik derefter på Opret rørledning

Klik på Azure Repos Git

Vælg din YAML-fil

Klik Variabler knappen efterfulgt af Ny variabel

Indsæt værdien for hver miljøvariabel, og klik på OK .

Klik på + tegnet for at fortsætte med at tilføje hver variabel

Efter at have placeret alle variabler, fortsæt med at oprette din pipeline

Kør din pipeline

Klik Rørledninger på instrumentbrættet. Klik på de tre prikker (flere muligheder) på din pipeline. Klik Kør pipeline. Endelig skal du klikke på Kør .

Klik på Byg for at starte byggefasen

Tjek, om hvert job i byggefasen er vellykket

Klik på rullepilen ved siden af Job for at se status for hvert byggejob

Start Sign-fasen ved at klikke Job

Tjek, om hvert trin i signeringsprocessen er vellykket

Dobbelttjek, om både bygge- og skiltetrin er vellykkede

Du kan henvise til SSL.com Github repository, som indeholder kildekoderne til docker-billedet og beskriver, hvordan man bruger det: https://github.com/SSLcom/ci-images 

Eksempel på Azure DevOps Pipeline

Tjek den eksempel på Azure DevOps-pipeline, vi har oprettet på github.com/SSLcom/codesigner-azuredevops-sample

Andre Remote Signing Integration Guides

Brug for tilpassede løsninger? 

Med vores ekspertviden og femstjernede supportmedarbejdere er vi klar til og villige til at arbejde sammen med dig om skræddersyede løsninger eller store signeringsrabatter på virksomhedsniveau. Udfyld formularen nedenfor, så kontakter vi dig.

Twitter
Facebook
LinkedIn
Reddit
E-mail

Hold dig informeret og sikker

SSL.com er en global leder inden for cybersikkerhed, PKI og digitale certifikater. Tilmeld dig for at modtage de seneste industrinyheder, tips og produktmeddelelser fra SSL.com.

Vi vil meget gerne have din feedback

Tag vores undersøgelse og fortæl os dine tanker om dit seneste køb.