

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 Generation and Editing Tool (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 von [Mage.exe](https://learn.microsoft.com/en-us/dotnet/framework/tools/mage-exe-manifest-generation-and-editing-tool) mit 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 zu verwenden AWS CloudHSM, benötigen Sie Folgendes:
+ Eine EC2 Amazon-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 Instanz, 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 AWS CloudHSM mit Mage.exe einzurichten**

1. Starten Sie eine EC2 Windows-Instanz 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](win-ca-overview-sdk5.md) aus AWS CloudHSM. 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 EC2 Windows-Instanz:
   + [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 Instanz installiert haben, können Sie es verwenden, um eine Zertifikatsignieranforderung (CSR) zu generieren. Die CSR ist ein unsigniertes Zertifikat, das Sie zur Unterzeichnung an Ihre Zertifizierungsstelle senden. 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 EC2 Windows-Instanz 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 * EC2 Amazon-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**. Klicken Sie mit der rechten Maustaste auf die Anfrage, die Sie gerade erstellt haben, wählen Sie **Alle Aufgaben** und dann **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-kodierte X.509-Datei an einem sicheren Ort als `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>

Jetzt, da Sie über Mage.exe und Ihr importiertes Zertifikat verfügen, können Sie eine Datei signieren. Sie müssen den SHA-1-Hash oder den *Fingerabdruck* des Zertifikats kennen. Der Fingerabdruck stellt sicher, dass Mage.exe nur Zertifikate verwendet, 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, um mit Mage.exe eine Beispielanwendungsdatei 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>
   ```