Dieses Lernprogramm enthält eine Einführung in die Codesignatur mit Azure DevOps unter Verwendung eines in Azure Key Vault gespeicherten Zertifikats. Um diese Anweisungen zu befolgen, benötigen Sie:
- An Azure-Konto
- A DevOps-Projekt
- A Schlüsseldepot
- A Codesignaturzertifikat in Ihrem Key Vault installiert. Du kannst entweder:
In diesem Artikel finden Sie eine Anleitung zur Integration von eSigner in Azure DevOps: Azure DevOps Cloud-Signatur-Integrationsleitfaden.
Registrieren Sie eine Azure-Anwendung
Zunächst müssen Sie eine neue Azure-Anwendung registrieren, damit Sie zum Signieren eine Verbindung zu Ihrem Key Vault herstellen können.
- Melden Sie sich in der Azure-Portal.
- Navigieren Azure Active Directory. (Klicken Mehr Dienstleistungen wenn das Azure Active Directory-Symbol nicht sichtbar ist.)
- Klicken Sie App-Registrierungenin der linken Spalte.
- Klicken Sie Neuanmeldung.
- Geben Sie Ihrer Bewerbung eine Name Und klicken Sie auf die Registrieren Taste. Belassen Sie die anderen Einstellungen auf ihren Standardwerten.
- Ihre neue Bewerbung wurde registriert. Kopieren und speichern Sie den angezeigten Wert für Anwendungs-ID (Client-ID), weil du es später brauchst.
Erstellen Sie ein Client-Geheimnis
Generieren Sie als Nächstes ein Client-Geheimnis, das beim Signieren als Berechtigungsnachweis dient.
- Klicken Sie Zertifikate & Geheimnisse im linken Menü.
- Klicken Sie Neues Kundengeheimnis.
- Geben Sie Ihrem Kundengeheimnis ein BeschreibungStellen Sie den gewünschten Ablauf ein und klicken Sie auf Speichern .
- Kopieren Sie die Wert Ihres neuen Kundengeheimnisses sofort und bewahren Sie es an einem sicheren Ort auf. Bei der nächsten Aktualisierung der Seite wird dieser Wert maskiert und kann nicht wiederhergestellt werden.
Aktivieren Sie den Zugriff in Key Vault
Jetzt müssen Sie den Zugriff für Ihre Anwendung in Azure Key Vault aktivieren.
- Navigieren Sie zum Schlüsseldepot mit dem Zertifikat, das Sie zum Signieren verwenden möchten, und klicken Sie auf Zugriffsrichtlinien Link.
- Klicken Sie Zugriffsrichtlinie hinzufügen.
- Der Schlüsselberechtigungen, aktivieren
Verify
,Sign
,Get
undList
.
- Der Geheime Berechtigungen, aktivieren
Get
undList
.
- Der Zertifikatsberechtigungen, aktivieren
Get
undList
.
- Klicken Sie auf die Nichts ausgewählt Link unter Prinzipal auswählenVerwenden Sie dann das Suchfeld, um die Anwendung zu suchen und auszuwählen, die Sie im vorherigen Abschnitt erstellt haben.
- Klicken Sie auf die Select .
- Klicken Sie auf die Speichern .
- Klicken Sie Speichern.
- Ihre Zugriffsrichtlinie ist festgelegt.
Konfigurieren Sie DevOps Build
Jetzt können Sie Ihren Build konfigurieren. Öffnen Sie Ihr Projekt in Azure DevOps.
Speichern Sie Anwendungsanmeldeinformationen als Variablen
Sie können Ihre Anwendungs-ID und Ihr Client-Geheimnis direkt in Ihre YAML-Pipeline-Datei aufnehmen. Es ist jedoch sicherer, wenn Sie sie als Variablen in DevOps speichern.
- Klicken Sie Pipelines.
- Klicken Sie Bibliothek.
- Klicken Sie + Variablengruppe.
- Geben Sie Ihrer Variablengruppe einen Namen.
- Klicken Sie Speichern.
- Geben Sie einen Variablennamen für Ihre Anwendungs-ID ein und fügen Sie den Wert ein. Klicken Sie auf die Sperre, um die Variable zu verschlüsseln, wenn Sie fertig sind.
- Wiederholen Sie den Vorgang, um eine Variable für Ihr Client-Geheimnis hinzuzufügen.
- Klicken Sie Speichern.
- Verknüpfen Sie die Variablengruppe in Ihrer Pipeline. (Ersetzen Sie VARIABLE-GROUP durch den Namen Ihrer tatsächlichen Variablengruppe.)
Variablen: - Gruppe: 'VARIABLE-GROUP'
Hinzufügen eines Pipeline-Schritts zur Installation des Azure Sign-Tools
Azure Sign-Tool ist ein Open-Source-Dienstprogramm, das bietet SignTool Funktionen für Zertifikate und Schlüssel, die in Azure Key Vault gespeichert sind. Fügen Sie Ihrer Pipeline den folgenden Schritt hinzu, um das Azure Sign Tool zu installieren:
- Aufgabe: DotNetCoreCLI @ 2 Eingaben: Befehl: 'custom' custom: 'tool' Argumente: 'install --global azuresigntool' displayName: Installiere AzureSignTool
Fügen Sie der Pipeline den Azure Sign Tool-Befehl hinzu
- Jetzt können Sie eine Aufgabe hinzufügen, um Ihren Code in der Pipeline zu signieren. Sie benötigen folgende Informationen:
- Fügen Sie den Azure Sign Tool-Aufruf zu Ihrer Pipeline hinzu. Ersetzen Sie die in ALL-CAPS angezeigten Werte durch Ihre tatsächlichen Werte:
- Aufgabe: CmdLine @ 2 Eingaben: Skript: AzureSignTool-Zeichen -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: Sign Code
- Sie sollten die Ausgabe wie folgt sehen, wenn das Signieren erfolgreich ist:
info: AzureSignTool.Program [0] => Datei: D: \ a \ 1 \ s \ x64 \ Debug \ HelloWorld.exe Signaturdatei D: \ a \ 1 \ s \ x64 \ Debug \ HelloWorld.exe info: AzureSignTool. Programm [0] => Datei: D: \ a \ 1 \ s \ x64 \ Debug \ HelloWorld.exe Die Signierung für Datei D: \ a \ 1 \ s \ x64 \ Debug \ HelloWorld.exe wurde erfolgreich abgeschlossen.