Denne vejledning giver en introduktion til kodesignering med Azure DevOps ved hjælp af et certifikat, der er gemt i Azure Key Vault. For at følge disse instruktioner har du brug for:
- An Azure-konto
- A DevOps-projekt
- A Nøglehvelv
- A kodesigneringscertifikat installeret i din Key Vault. Du kan enten:
Gå over til denne artikel for at få en guide til, hvordan du integrerer eSigner med Azure DevOps: Azure DevOps Cloud Signing Integration Guide.
Registrer et Azure-program
Først skal du registrere en ny Azure-applikation, så du kan oprette forbindelse til din Key Vault til signering.
- Log ind på Azure portal.
- Naviger til Azure Active Directory. (Klik Flere tjenester hvis Azure Active Directory-ikonet ikke er synligt.)
- Klik App-registreringeri venstre kolonne.
- Klik Ny registrering.
- Giv din ansøgning en Navn og klik på Registrer knap. Lad de andre indstillinger være på deres standardværdier.
- Din nye ansøgning er blevet registreret. Kopier og gem den viste værdi for Program (klient) ID, fordi du får brug for det senere.
Opret en klienthemmelighed
Dernæst generer en klienthemmelighed, der fungerer som legitimationsoplysninger, når du underskriver.
- Klik Certifikater & hemmeligheder i menuen til venstre.
- Klik Ny klienthemmelighed.
- Giv din klienthemmelighed en Beskrivelse, indstil udløb som ønsket, og klik på Tilføj .
- Kopier Værdi af din nye klienthemmelighed straks og gem det et sikkert sted. Næste gang siden opdateres, bliver denne værdi maskeret og uoprettelig.
Aktivér adgang i Key Vault
Nu skal du aktivere adgang til din applikation i Azure Key Vault.
- Naviger til Key Vault, der indeholder det certifikat, du vil bruge til signering, og klik på Adgangspolitikker .
- Klik Tilføj adgangspolitik.
- Under Nøgletilladelser, aktiver
Verify
,Sign
,Get
ogList
.
- Under Hemmelige tilladelser, aktiver
Get
ogList
.
- Under Certifikat tilladelser, aktiver
Get
ogList
.
- Klik på knappen Ingen valgt link under Vælg hoved, brug derefter søgefeltet til at finde og vælge den applikation, du oprettede i det foregående afsnit.
- Klik på knappen Type .
- Klik på knappen Tilføj .
- Klik Gem.
- Din adgangspolitik er indstillet.
Konfigurer DevOps Build
Nu kan du konfigurere din build. Åbn dit projekt i Azure DevOps.
Gem applikationsoplysninger som variabler
Du kan inkludere dit applikations-id og din klienthemmelighed direkte i din YAML-pipeline-fil, men det er mere sikkert, hvis du gemmer dem som variabler i DevOps.
- Klik Rørledninger.
- Klik Bibliotek.
- Klik + Variabel gruppe.
- Giv din variable gruppe et navn.
- Klik Tilføj.
- Indtast et variabelnavn til dit applikations-id, og indsæt derefter værdien. Klik på låsen for at kryptere variablen, når du er færdig.
- Gentag processen for at tilføje en variabel til din klienthemmelighed.
- Klik Gem.
- Link variabelgruppen i din pipeline. (udskift VARIABLE-GROUP med navnet på din faktiske variable gruppe.)
variabler: - gruppe: 'VARIABLE-GROUP'
Tilføj pipeline-trin for at installere Azure Sign Tool
Azure Sign Tool er et open source-værktøj, der tilbyder SignTool funktionalitet til certifikater og nøgler, der er gemt i Azure Key Vault. Tilføj følgende trin i din pipeline for at installere Azure Sign Tool:
- opgave: DotNetCoreCLI @ 2 input: kommando: 'brugerdefineret' brugerdefineret: 'værktøj' argumenter: 'install --global azuresigntool' displaynavn: Installer AzureSignTool
Føj kommandoen til Azure Sign Tool til rørledningen
- Nu kan du tilføje en opgave for at underskrive din kode til rørledningen. Du skal bruge følgende oplysninger:
- Føj Azure Sign Tool-opkaldet til din pipeline. Erstat værdierne vist i ALL-CAPS med dine faktiske værdier:
- opgave: CmdLine @ 2 indgange: script: AzureSignTool tegn -kvu "KEY-VAULT-URI" -kvi "$ (APPLICATION-ID-VAR)" -kvs "$ (CLIENT-SECRET-VAR)" -kvc CERTIFICATE-NAME -tr "http://ts.ssl.com" -td sha256 "FILE-TO-SIGN" displaynavn: tegn kode
- Du bør se output som dette, hvis signering er vellykket:
info: AzureSignTool.Program [0] => Fil: D: \ a \ 1 \ s \ x64 \ Debug \ HelloWorld.exe Undertegnelsesfil D: \ a \ 1 \ s \ x64 \ Debug \ HelloWorld.exe info: AzureSignTool. Program [0] => Fil: D: \ a \ 1 \ s \ x64 \ Debug \ HelloWorld.exe Undertegnelse blev gennemført med succes for fil D: \ a \ 1 \ s \ x64 \ Debug \ HelloWorld.exe.