

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Verwenden Sie das Microsoft-Manifest-Generierungs- und Bearbeitungstool (Mage.exe) mit AWS CloudHSM um Dateien zu signieren
<a name="third-magetool"></a>

**Anmerkung**  
AWS CloudHSM unterstützt nur das 64-Bit-Mage-Tool, das im Windows SDK for .NET Framework 4.8.1 und höher enthalten ist.

Die folgenden Themen bieten einen Überblick über die Verwendung [ Mage.exe ](https://learn.microsoft.com/en-us/dotnet/framework/tools/mage-exe-manifest-generation-and-editing-tool)von. AWS CloudHSM

**Topics**
+ [Schritt 1: Einrichten der Voraussetzungen](#magetool-prereqs)
+ [Schritt 2: Erstellen Sie ein Signaturzertifikat](#magetool-csr)
+ [Schritt 3: Signieren Sie eine Datei](#magetool-sign)

## Schritt 1: Einrichten der Voraussetzungen
<a name="magetool-prereqs"></a>

Um Microsoft Mage.exe mit verwenden zu können AWS CloudHSM, benötigen Sie Folgendes:
+ Eine Amazon EC2 EC2-Instance, auf der ein Windows-Betriebssystem ausgeführt wird
+ Eine Zertifizierungsstelle (CA), entweder selbst verwaltet oder von einem Drittanbieter
+ Ein aktiver AWS CloudHSM Cluster in derselben Virtual Private Cloud (VPC) wie Ihre EC2-Instance, mit mindestens einem HSM
+ Ein Krypto-Benutzer (CU), der Schlüssel im Cluster besitzt und verwaltet AWS CloudHSM 
+ Eine unsignierte Datei oder eine ausführbare Datei
+ Das Microsoft Windows Software Development Kit (SDK)

**Um die Voraussetzungen für die Verwendung von einzurichten AWS CloudHSM mit Mage.exe**

1. Starten Sie eine Windows EC2-Instance und einen AWS CloudHSM Cluster, indem Sie den Anweisungen im Abschnitt [Erste Schritte](getting-started.md) dieses Handbuchs folgen.

1. Wenn Sie Ihre eigene Windows Server-Zertifizierungsstelle hosten möchten, führen Sie die Schritte 1 und 2 [unter Konfiguration von Windows Server als Zertifizierungsstelle mit AWS CloudHSM](win-ca-overview-sdk5.md) aus. Verwenden Sie andernfalls Ihre öffentlich vertrauenswürdige Drittanbieter-Zertifizierungsstelle.

1. Laden Sie das Microsoft Windows SDK for .NET Framework 4.8.1 oder höher herunter und installieren Sie es auf Ihrer Windows EC2-Instance:
   + [Microsoft Windows SDK 10](https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk)

   Die `mage.exe` ausführbare Datei ist Teil der Windows SDK-Tools. Der Standardinstallationspfad ist:

   ```
   C:\Program Files (x86)\Windows Kits\{{<SDK version>}}\bin\{{<version number>}}\x64\Mage.exe
   ```

Nachdem Sie diese Schritte abgeschlossen haben, können Sie das Microsoft Windows SDK, Ihren AWS CloudHSM Cluster und Ihre CA verwenden, um [ein Signaturzertifikat zu erstellen](#magetool-csr).

## Schritt 2: Erstellen Sie ein Signaturzertifikat
<a name="magetool-csr"></a>

Nachdem Sie das Windows SDK nun auf Ihrer EC2-Instance installiert haben, können Sie es verwenden, um eine Certificate Signing Request (CSR) zu generieren. Die CSR ist ein unsigniertes Zertifikat, das Sie Ihrer Zertifizierungsstelle zur Unterzeichnung vorlegen. In diesem Beispiel verwenden wir die im Windows SDK enthaltene `certreq` ausführbare Datei, um die CSR zu generieren.

**Um eine CSR mit der ausführbaren Datei certreq zu generieren**

1. Connect zu Ihrer Windows EC2-Instance her. Weitere Informationen finden Sie unter [Connect to Your Instance](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/EC2_GetStarted.html#ec2-connect-to-instance-windows) im *Amazon EC2 EC2-Benutzerhandbuch*.

1. Erstellen Sie eine Datei mit dem Namen `request.inf` und dem folgenden Inhalt. Ersetzen Sie die `Subject` Informationen durch die Details Ihrer Organisation:

   ```
   [Version]
   Signature= $Windows NT$
   [NewRequest]
   Subject = "C={{<Country>}},CN={{<www.website.com>}},O={{<Organization>}},OU={{<Organizational-Unit>}},L={{<City>}},S={{<State>}}"
   RequestType=PKCS10
   HashAlgorithm = SHA256
   KeyAlgorithm = RSA
   KeyLength = 2048
   ProviderName = "CloudHSM Key Storage Provider"
   KeyUsage = "CERT_DIGITAL_SIGNATURE_KEY_USAGE"
   MachineKeySet = True
   Exportable = False
   ```

   Eine Erklärung der einzelnen Parameter finden Sie in der [Dokumentation von Microsoft](https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/certreq_1#BKMK_New).

1. Führen Sie `certreq.exe` das Programm aus, um die CSR zu generieren:

   ```
   certreq.exe -new request.inf request.csr
   ```

   Dieser Befehl generiert ein neues key pair in Ihrem AWS CloudHSM Cluster und verwendet den privaten Schlüssel, um die CSR zu erstellen.

1. Übermitteln Sie die CSR an Ihre CA. Wenn Sie eine Windows Server-Zertifizierungsstelle verwenden, gehen Sie wie folgt vor:

   1. Öffnen Sie das CA-Tool:

      ```
      certsrv.msc
      ```

   1. Klicken Sie im neuen Fenster mit der rechten Maustaste auf den Namen des CA-Servers. Wählen Sie **Alle Aufgaben** aus, und wählen Sie dann **Neue Anfrage senden** aus.

   1. Navigieren Sie zum Speicherort von `request.csr` und wählen Sie **Öffnen**.

   1. Erweitern Sie das Menü **Server CA** und navigieren Sie zum Ordner **Pending Requests**. Right-click Wählen Sie für die Anfrage, die Sie gerade erstellt haben, **Alle Aufgaben** und anschließend **Issue** aus.

   1. Navigieren Sie zum Ordner „**Ausgestellte Zertifikate**“.

   1. Wählen Sie **Öffnen** aus, um das Zertifikat anzuzeigen, und wählen Sie dann die Registerkarte **Details** aus.

   1. Wählen Sie **In Datei kopieren** aus, um den Assistenten für den Zertifikatsexport zu starten. Speichern Sie die DER-encoded X.509 Datei an einem sicheren Ort unter`signedCertificate.cer`.

   1. Beenden Sie das CA-Tool und führen Sie den folgenden Befehl aus, um die Zertifikatsdatei in den Personal Certificate Store in Windows zu verschieben:

      ```
      certreq.exe -accept signedCertificate.cer
      ```

Sie können jetzt Ihr importiertes Zertifikat verwenden, um [eine Datei zu signieren](#magetool-sign).

## Schritt 3: Signieren Sie eine Datei
<a name="magetool-sign"></a>

Nachdem Sie Ihr importiertes Zertifikat haben Mage.exe , können Sie eine Datei signieren. Sie müssen den SHA-1 Hash oder *Fingerabdruck* des Zertifikats kennen. Der Fingerabdruck stellt sicher, dass Mage.exe nur Zertifikate verwendet werden, die von verifiziert wurden. AWS CloudHSM In diesem Beispiel verwenden wir, PowerShell um den Hash des Zertifikats abzurufen.

**So erhalten Sie den Fingerabdruck eines Zertifikats und signieren damit eine Datei:**

1. Navigieren Sie zu dem Verzeichnis, das enthält`mage.exe`. Der Standardspeicherort ist:

   ```
   C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8.1 Tools\x64
   ```

1. Führen Sie den folgenden Befehl aus Mage.exe, um eine Beispielanwendungsdatei mit zu erstellen:

   ```
   mage.exe -New Application -ToFile C:\Users\Administrator\Desktop\sample.application
   ```

1. Öffnen Sie PowerShell als Administrator und führen Sie den folgenden Befehl aus:

   ```
   Get-ChildItem -path cert:\LocalMachine\My
   ```

   Kopieren Sie die `Provider` Werte `Thumbprint``Key Container`, und aus der Ausgabe.  
![Der Hash des Zertifikats wird in der Ausgabe als Fingerabdruck, Schlüsselcontainer und Anbieter angezeigt](http://docs.aws.amazon.com/de_de/cloudhsm/latest/userguide/images/certstore-my-certificate.png)

1. Signieren Sie Ihre Datei, indem Sie den folgenden Befehl ausführen:

   ```
   mage.exe -Sign -CertHash {{<thumbprint>}} -KeyContainer {{<keycontainer>}} -CryptoProvider {{<CloudHSM Key Storage Provider/Cavium Key Storage Provider>}} C:\Users\Administrator\Desktop\{{<sample.application>}}
   ```

   Wenn der Befehl erfolgreich ist, wird eine Erfolgsmeldung PowerShell zurückgegeben.

1. Verwenden Sie den folgenden Befehl, um die Signatur der Datei zu überprüfen:

   ```
   mage.exe -Verify -CryptoProvider {{<CloudHSM Key Storage Provider/Cavium Key Storage Provider>}} C:\Users\Administrator\Desktop\{{<sample.application>}}
   ```