Share via


Einrichten von Signaturintegrationen zur Verwendung der vertrauensvollen Signatur

Trusted Signing unterstützt derzeit die folgenden Signaturintegrationen:

  • SignTool
  • GitHub-Aktionen
  • Azure DevOps-Aufgaben
  • PowerShell für Authenticode
  • Azure PowerShell (CI-Richtlinie für die App-Steuerung für Unternehmen)
  • SDK für die vertrauensvolle Signatur

Wir arbeiten ständig daran, mehr Signaturintegrationen zu unterstützen. Wir aktualisieren die unterstützte Integrationsliste, sobald weitere Integrationen verfügbar sind.

In diesem Artikel wird erläutert, wie Sie alle oben genannten Signaturintegrationen für die vertrauensvolle Signatur einrichten.

Einrichten von SignTool für die vertrauensvolle Signatur

In diesem Abschnitt wird erläutert, wie Sie SignTool für die Verwendung mit Trusted Signing einrichten.

Voraussetzungen

Um die Schritte dieses Artikels abzuschließen, benötigen Sie Folgendes:

  • Konto, Identitätsüberprüfung und Zertifikatprofil für die vertrauensvolle Signatur.
  • Einzel- oder Gruppenzuweisung der Rolle „Signierer für das Zertifikatprofil der vertrauensvollen Signatur“.

Zusammenfassung der Schritte

  1. Herunterladen und Installieren von SignTool
  2. Herunterladen und Installieren der .NET 8-Runtime
  3. Herunterladen und Installieren des Dlib-Pakets für die vertrauensvolle Signatur.
  4. Erstellen einer JSON-Datei zum Angeben des Kontos und eines Zertifikatprofils für die vertrauensvolle Signatur.
  5. Aufrufen von SignTool zum Signieren einer Datei.

Herunterladen und Installieren von SignTool

Die vertrauensvolle Signatur erfordert die Verwendung von SignTool zum Signieren von Dateien unter Windows, insbesondere die Version von „SignTool.exe“ aus dem Windows 10 SDK 10.0.19041 oder höher. Sie können das vollständige Windows 10 SDK über den Visual Studio-Installer installieren oder es separat herunterladen und installieren.

So laden Sie SignTool herunter und installieren SignTool

  1. Laden Sie die aktuelle Version von SignTool und Windows Build Tools NuGet hier herunter: Microsoft.Windows.SDK.BuildTools.

  2. Installieren Sie SignTool aus dem Windows SDK (Mindestversion: 10.0.2261.755).

Eine weitere Möglichkeit besteht darin, die neueste herunterladbare Version von nuget.exe zu verwenden und das neueste NuGet-Paket für SDK-Buildtools zu extrahieren (mit PowerShell):

  1. Laden Sie nuget.exe herunter, indem Sie den folgenden Befehl zum Herunterladen ausführen:

    Invoke-WebRequest -Uri https://dist.nuget.org/win-x86-commandline/latest/nuget.exe -OutFile .\nuget.exe  
    
  2. Installieren Sie nuget.exe, indem Sie den folgenden Installationsbefehl ausführen:

    .\nuget.exe install Microsoft.Windows.SDK.BuildTools -Version 10.0.20348.19 
    

Herunterladen und Installieren der .NET 8.0-Runtime

Die Komponenten, die SignTool als Schnittstelle für die vertrauensvolle Signatur verwendet, erfordern die Installation der .NET 8.0-Runtime. Sie benötigen nur die .NET Core 8.0-Runtime. Installieren Sie unbedingt die richtige Plattformruntime, je nachdem, welche Version von SignTool Sie ausführen möchten. Sie können auch einfach beide installieren.

Zum Beispiel:

Herunterladen und Installieren des Dlib-Pakets für die vertrauensvolle Signatur

So laden Sie das Dlib-Paket für die vertrauensvolle Signatur (eine ZIP-Datei) herunter und installieren es

  1. Laden Sie das Dlib-Paket für die vertrauensvolle Signatur herunter.

  2. Extrahieren Sie den gezippten Dlib-Inhalt für die vertrauensvolle Signatur, und installieren Sie ihn auf Ihrem Signaturknoten in einem Verzeichnis Ihrer Wahl. Der Knoten muss der Knoten sein, auf dem Sie SignTool zum Signieren von Dateien verwenden.

Erstellen einer JSON-Datei

Für das Signieren mit der vertrauensvollen Signatur müssen Sie die Details Ihres Kontos für die vertrauensvolle Signatur und Ihres Zertifikatprofils angeben, die im Rahmen der Voraussetzungen erstellt wurden. Sie geben diese Informationen in einer JSON-Datei an, indem Sie die folgenden Schritte ausführen:

  1. Erstellen Sie eine neue JSON-Datei (z. B. metadata.json).

  2. Fügen Sie entsprechenden Werte für Ihr Konto für die vertrauensvolle Signatur und Ihr Zertifikatprofil zur JSON-Datei hinzu. Das Konto für die vertrauensvolle Signatur wird auch als Codesignaturkonto bezeichnet. Weitere Informationen finden Sie in der Datei metadata.sample.json, die im Dlib-Paket für die vertrauensvolle Signatur enthalten ist, oder verwenden Sie das folgende Beispiel:

    {
      "Endpoint": "<Trusted Signing account endpoint>",
      "TrustedSigningAccountName": "<Trusted Signing account name>",
      "CertificateProfileName": "<certificate profile name>",
      "CorrelationId": "<Optional CorrelationId value>"
    }
    

    Der URI-Wert "Endpoint" muss ein URI sein, der an der Region ausgerichtet ist, in der Sie Ihr Konto für die vertrauensvolle Signatur und das Zertifikatprofil erstellt haben, als Sie diese Ressourcen eingerichtet haben. Die folgende Tabelle enthält Regionen und ihre entsprechenden URIs.

    Region Regionsklassenfelder Endpunkt-URI-Wert
    East US EastUS https://eus.codesigning.azure.net
    USA, Westen 3 [1] WestUS3 https://wus3.codesigning.azure.net
    USA, Westen-Mitte WestCentralUS https://wcus.codesigning.azure.net
    USA, Westen 2 WestUS2 https://wus2.codesigning.azure.net
    Nordeuropa Europa, Norden https://neu.codesigning.azure.net
    Europa, Westen Europa, Westen https://weu.codesigning.azure.net

    1 Das optionale Feld "CorrelationId" ist ein nicht transparenter Zeichenfolgenwert, den Sie bereitstellen können, um Signieranforderungen mit Ihren eigenen Workflows zu korrelieren, z. B. Buildbezeichner oder Computernamen.

Verwenden von SignTool zum Signieren einer Datei

So rufen Sie SignTool auf, um eine Datei zu signieren

  1. Notieren Sie sich, wo sich Ihre SDK-Buildtools, das extrahierte Paket Azure.CodeSigning.Dlib und die Datei metadata.json befinden (siehe vorherige Abschnitte).

  2. Ersetzen Sie die Platzhalter im folgenden Pfad durch die spezifischen Werte, die Sie in Schritt 1 notiert haben:

    & "<Path to SDK bin folder>\x64\signtool.exe" sign /v /debug /fd SHA256 /tr "http://timestamp.acs.microsoft.com" /td SHA256 /dlib "<Path to Trusted Signing dlib bin folder>\x64\Azure.CodeSigning.Dlib.dll" /dmdf "<Path to metadata file>\metadata.json" <File to sign> 
    
  • Sowohl die x86- als auch die x64-Version von SignTool sind im Windows SDK enthalten. Achten Sie darauf, auf die entsprechende Version von Azure.CodeSigning.Dlib.dll zu verweisen. Das obige Beispiel gilt für die x64-Version von SignTool.
  • Stellen Sie sicher, dass Sie die empfohlene Windows SDK-Version in den Abhängigkeiten verwenden, die am Anfang dieses Artikels aufgeführt sind. Andernfalls funktioniert die Dlib-Datei nicht.

Zertifikate für die vertrauensvolle Signatur haben eine Gültigkeit von drei Tagen. Daher ist der Zeitstempel entscheidend für die weitere erfolgreiche Validierung einer Signatur über diese drei Tage hinaus. Trusted Signing empfiehlt die Verwendung von Microsoft Public RSA Time Stamping Authority von Trusted Signing: http://timestamp.acs.microsoft.com/.

Verwenden anderer Signaturintegrationen mit Trusted Signing

Sie können auch die folgenden Tools oder Plattformen verwenden, um Signaturintegrationen mit der vertrauensvollen Signatur einzurichten.

  • GitHub Actions: Informationen zur Verwendung einer GitHub-Aktion für die vertrauensvolle Signatur finden Sie unter Vertrauensvolle Signatur – Aktionen im GitHub-Marketplace. Führen Sie die Anweisungen zum Einrichten und Verwenden einer GitHub-Aktion aus.

  • Azure DevOps-Aufgabe: Informationen zur Verwendung der Azure DevOps-Aufgabe für die vertrauensvolle Signatur finden Sie unter Vertrauensvolle Signatur in Visual Studio Marketplace. Führen Sie die Anweisungen für das Setup aus.

  • PowerShell für Authenticode: Informationen zur Verwendung von PowerShell für die vertrauensvolle Signatur finden Sie unter Vertrauensvolle Signatur 0.3.8 im PowerShell-Katalog, um das PowerShell-Modul zu installieren.

  • Azure PowerShell – CI-Richtlinie für die App-Steuerung für Unternehmen: Befolgen Sie die Anweisungen unter Signieren einer neuen CI-Richtlinie, und sehen Sie sich die Informationen unter PowerShell-Modul „Az.CodeSigning“ an, um die vertrauensvolle Signatur für die CI-Richtliniensignatur (Codeintegrität) zu verwenden.

  • SDK für die vertrauensvolle Signatur: Zum Erstellen einer eigenen Signaturintegration können Sie unser Open-Source-SDK für die vertrauensvolle Signatur verwenden.