In diesem Lernprogramm erfahren Sie, wie Sie Dateien über die Windows-Befehlszeile mit einem in Azure Key Vault gespeicherten Codesignaturzertifikat und einem privaten Schlüssel signieren. Um diese Anweisungen zu befolgen, benötigen Sie:
- An Azure-Konto
- A Schlüsseldepot
- A Codesignaturzertifikat in Ihrem Key Vault installiert. Du kannst entweder:
- Azure Sign-Tool auf dem Computer installiert, den Sie zum Signieren verwenden
Was ist das Azure Sign Tool?
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. Sie können das Azure Sign Tool mit dem folgenden Befehl in Windows PowerShell installieren (erforderlich .NET-SDK):
dotnet tool install --global AzureSignTool
Schritt 1: Registrieren Sie eine neue 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.
- Klicken Sie Authentifizierung.
- Der Erweiterte Einstellungen, einstellen Öffentliche Clientflüsse zulassen zu
Yes
.
- Klicken Sie Speichern.
Schritt 2: 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.
Schritt 3: 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
Sign
.
- Der Zertifikatsberechtigungen, aktivieren
Get
.
- 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 und Sie können mit dem Signieren von Dateien beginnen.
Schritt 4: Signieren Sie eine Datei
Jetzt können Sie endlich einen Code unterschreiben!
- Sie benötigen folgende Informationen:
- Unten finden Sie einen Beispielbefehl in PowerShell zum Signieren und Zeitstempeln einer Datei mit dem Azure Sign Tool. Ersetzen Sie die Werte in ALL CAPS durch Ihre tatsächlichen Informationen:
azuresigntool sign -kvu KEY-VAULT-URI -kvc ZERTIFIKAT-NAME -kvi ANWENDUNG-CLIENT-ID -kvs CLIENT-SECRET -tr http://ts.ssl.com/ -td sha256 PATH-TO-EXECUTABLE
Hinweis: Standardmäßig unterstützt SSL.com Zeitstempel von ECDSA-Schlüsseln.
Wenn Sie auf diesen Fehler stoßen:The timestamp certificate does not meet a minimum public key length requirement
, sollten Sie sich an Ihren Softwareanbieter wenden, um Zeitstempel von ECDSA-Schlüsseln zuzulassen.
Wenn Ihr Softwareanbieter die Verwendung des normalen Endpunkts nicht zulassen kann, können Sie diesen Legacy-Endpunkt verwendenhttp://ts.ssl.com/legacy
um einen Zeitstempel von einer RSA-Zeitstempeleinheit zu erhalten. - Wenn die Signatur erfolgreich ist, sollte die Ausgabe wie folgt angezeigt werden (eine nicht erfolgreiche Signierung führt zu keiner Ausgabe):
info: AzureSignTool.Program [0] => Datei: test.exe Signaturdatei test.exe info: AzureSignTool.Program [0] => Datei: test.exe Die Signierung für die Datei test.exe wurde erfolgreich abgeschlossen. info PS C: \ Benutzer \ Aaron Russell \ Desktop>
- Details zur neuen digitalen Signatur finden Sie in den Dateieigenschaften: