Deze zelfstudie geeft een inleiding tot het ondertekenen van code met Azure DevOps, met behulp van een certificaat dat is opgeslagen in Azure Key Vault. Om deze instructies te volgen heeft u nodig:
- An Azure-account
- A DevOps-project
- A Sleutel kluis
- A certificaat voor codeondertekening geïnstalleerd in uw Key Vault. Je kan of:
Ga naar dit artikel voor een handleiding over het integreren van eSigner met Azure DevOps: Integratiehandleiding voor Azure DevOps Cloud Signing.
Registreer een Azure-toepassing
Eerst moet u een nieuwe Azure-toepassing registreren, zodat u voor ondertekening verbinding kunt maken met uw Key Vault.
- Log in bij de Azure-portal.
- Navigeer naar Azure Active Directory. (Klik Meer diensten als het Azure Active Directory-pictogram niet zichtbaar is.)
- Klik App-registraties, in de linkerkolom.
- Klik Nieuwe registratie.
- Geef uw aanvraag een Naam En klik op de knop Registreren knop. Laat de andere instellingen op hun standaardwaarden staan.
- Uw nieuwe aanvraag is geregistreerd. Kopieer en bewaar de waarde die wordt weergegeven voor Applicatie (klant) ID, omdat je het later nodig hebt.
Maak een clientgeheim
Genereer vervolgens een clientgeheim, dat als referentie zal dienen bij het ondertekenen.
- Klik Certificaten en geheimen in het linker menu.
- Klik Nieuw klantgeheim.
- Geef uw cliëntgeheim een Beschrijving, stel de vervaldatum in zoals gewenst en klik op de Toevoegen knop.
- Kopieer de Waarde van uw nieuwe cliëntgeheim per direct en bewaar het op een veilige plaats. De volgende keer dat de pagina wordt vernieuwd, wordt deze waarde gemaskeerd en kan deze niet worden hersteld.
Toegang inschakelen in Key Vault
Nu moet u toegang voor uw toepassing inschakelen in Azure Key Vault.
- Navigeer naar de Key Vault met het certificaat dat u wilt gebruiken voor ondertekening en klik op het Toegangsbeleid link.
- Klik Toegangsbeleid toevoegen.
- Onder Sleutelrechten, inschakelen
Verify
,Sign
,Get
enList
.
- Onder Geheime machtigingen, inschakelen
Get
enList
.
- Onder Certificaatrechten, inschakelen
Get
enList
.
- Klik op de Geen geselecteerd link, onder Selecteer de opdrachtgeveren gebruik vervolgens het zoekveld om de applicatie te zoeken en te selecteren die u in de vorige sectie hebt gemaakt.
- Klik op de kies knop.
- Klik op de Toevoegen knop.
- Klik Bespaar.
- Uw toegangsbeleid is ingesteld.
Configureer DevOps Build
Nu kunt u uw build configureren. Open uw project in Azure DevOps.
Sla toepassingsreferenties op als variabelen
U kunt uw toepassings-ID en clientgeheim rechtstreeks in uw YAML-pijplijnbestand opnemen, maar het is veiliger als u ze opslaat als variabelen in DevOps.
- Klik Pijpleidingen.
- Klik Bibliotheek.
- Klik + Variabele groep.
- Geef uw variabelegroep een naam.
- Klik Toevoegen.
- Voer een variabelenaam in voor uw toepassings-ID en plak de waarde in. Klik op het slotje om de variabele te versleutelen als je klaar bent.
- Herhaal het proces om een variabele toe te voegen voor uw cliëntgeheim.
- Klik Bespaar.
- Koppel de variabelegroep in uw pijplijn. (vervang VARIABLE-GROUP door de naam van uw feitelijke variabelegroep.)
variabelen: - group: 'VARIABLE-GROUP'
Voeg pijplijnstap toe om Azure Sign Tool te installeren
Azure Sign-hulpprogramma is een open-sourceprogramma dat TekenTool functionaliteit voor certificaten en sleutels die zijn opgeslagen in Azure Key Vault. Voeg de volgende stap toe aan uw pijplijn om Azure Sign Tool te installeren:
- task: DotNetCoreCLI @ 2 inputs: command: 'custom' custom: 'tool' arguments: 'install --global azuresigntool' displayName: Installeer AzureSignTool
Voeg de opdracht Azure Sign Tool toe aan Pipeline
- Nu kunt u een taak toevoegen om uw code aan de pijplijn te ondertekenen. U heeft de volgende gegevens nodig:
- Voeg de Azure Sign Tool-aanroep toe aan uw pijplijn. Vervang de waarden die in HOOFDLETTERS worden weergegeven door uw werkelijke waarden:
- taak: CmdLine @ 2 inputs: script: AzureSignTool sign -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" displayName: tekencode
- Je zou de output als volgt moeten zien als het ondertekenen succesvol is:
info: AzureSignTool.Program [0] => Bestand: D: \ a \ 1 \ s \ x64 \ Debug \ HelloWorld.exe Tekenbestand D: \ a \ 1 \ s \ x64 \ Debug \ HelloWorld.exe info: AzureSignTool. Programma [0] => Bestand: D: \ a \ 1 \ s \ x64 \ Debug \ HelloWorld.exe De ondertekening is succesvol voltooid voor bestand D: \ a \ 1 \ s \ x64 \ Debug \ HelloWorld.exe.