

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Utilisez l'outil de génération et d'édition de manifestes Microsoft (Mage.exe) avec AWS CloudHSM pour signer des fichiers
<a name="third-magetool"></a>

**Note**  
AWS CloudHSM prend uniquement en charge l'outil Mage 64 bits inclus dans le SDK Windows pour .NET Framework 4.8.1 et versions ultérieures.

Les rubriques suivantes fournissent une vue d'ensemble de la manière de l'utiliser [ Mage.exe ](https://learn.microsoft.com/en-us/dotnet/framework/tools/mage-exe-manifest-generation-and-editing-tool)avec AWS CloudHSM.

**Topics**
+ [Étape 1 : Configurer les prérequis](#magetool-prereqs)
+ [Étape 2 : Création d'un certificat de signature](#magetool-csr)
+ [Étape 3 : signer un fichier](#magetool-sign)

## Étape 1 : Configurer les prérequis
<a name="magetool-prereqs"></a>

Pour utiliser Microsoft Mage.exe avec AWS CloudHSM, vous devez disposer des éléments suivants :
+ Une instance Amazon EC2 exécutant un système d'exploitation Windows
+ Une autorité de certification (CA), autonome ou provenant d'un fournisseur tiers
+ Un AWS CloudHSM cluster actif dans le même cloud privé virtuel (VPC) que votre instance EC2, avec au moins un HSM
+ Un utilisateur cryptographique (CU) pour posséder et gérer les clés du AWS CloudHSM cluster
+ Fichier ou exécutable non signé
+ Le kit de développement logiciel (SDK) Microsoft Windows

**Pour configurer les conditions préalables à l'utilisation AWS CloudHSM avec Mage.exe**

1. Lancez une instance Windows EC2 et un AWS CloudHSM cluster en suivant les instructions de la section [Mise](getting-started.md) en route de ce guide.

1. Si vous souhaitez héberger votre propre autorité de certification Windows Server, suivez les étapes 1 et 2 de la [section Configuration de Windows Server en tant qu'autorité de certification avec AWS CloudHSM](win-ca-overview-sdk5.md). Sinon, utilisez votre autorité de certification tierce reconnue publiquement.

1. Téléchargez et installez le SDK Microsoft Windows pour .NET Framework 4.8.1 ou version ultérieure sur votre instance Windows EC2 :
   + [Kit SDK Microsoft Windows 10](https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk)

   L'`mage.exe`exécutable fait partie des outils du SDK Windows. L'emplacement d'installation par défaut est :

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

Après avoir effectué ces étapes, vous pouvez utiliser le SDK Microsoft Windows, votre AWS CloudHSM cluster et votre autorité de certification pour [créer un certificat de signature](#magetool-csr).

## Étape 2 : Création d'un certificat de signature
<a name="magetool-csr"></a>

Maintenant que vous avez installé le SDK Windows sur votre instance EC2, vous pouvez l'utiliser pour générer une demande de signature de certificat (CSR). Le CSR est un certificat non signé que vous soumettez à votre autorité de certification pour signature. Dans cet exemple, nous utilisons l'`certreq`exécutable inclus dans le SDK Windows pour générer le CSR.

**Pour générer un CSR à l'aide de l'exécutable certreq**

1. Connectez-vous à votre instance Windows EC2. Pour plus d'informations, consultez [Connect to Your Instance](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/EC2_GetStarted.html#ec2-connect-to-instance-windows) dans le guide de l'*utilisateur Amazon EC2*.

1. Créez un fichier nommé `request.inf` avec le contenu suivant. Remplacez les `Subject` informations par les informations de votre 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
   ```

   Pour une explication de chaque paramètre, consultez la [documentation de Microsoft](https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/certreq_1#BKMK_New).

1. Exécutez `certreq.exe` pour générer le CSR :

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

   Cette commande génère une nouvelle paire de clés sur votre AWS CloudHSM cluster et utilise la clé privée pour créer le CSR.

1. Envoyez la CSR à votre autorité de certification. Si vous utilisez une autorité de certification Windows Server, procédez comme suit :

   1. Ouvrez l'outil CA :

      ```
      certsrv.msc
      ```

   1. Dans la nouvelle fenêtre, cliquez avec le bouton droit de la souris sur le nom du serveur CA. Choisissez **All Tasks (Toutes les tâches)**, puis choisissez **Submit new request (Envoyer une nouvelle demande)**.

   1. Accédez à l'emplacement de `request.csr` et choisissez **Ouvrir**.

   1. Développez le menu **Server CA** et accédez au dossier **Demandes en attente**. Right-click la demande que vous venez de créer, choisissez **Toutes les tâches**, puis choisissez **Émettre**.

   1. Accédez au dossier **Certificats émis**.

   1. Choisissez **Ouvrir** pour afficher le certificat, puis cliquez sur l’onglet **Détails**.

   1. Choisissez **Copy to File (Copier dans un fichier)** pour démarrer le Certificate Export Wizard (Assistant d’exportation de certificat). Enregistrez le DER-encoded X.509 fichier dans un emplacement sécurisé sous le nom`signedCertificate.cer`.

   1. Quittez l'outil CA et exécutez la commande suivante pour déplacer le fichier de certificat vers le magasin de certificats personnels sous Windows :

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

Vous pouvez désormais utiliser votre certificat importé pour [signer un fichier](#magetool-sign).

## Étape 3 : signer un fichier
<a name="magetool-sign"></a>

Maintenant que vous avez Mage.exe le certificat importé, vous pouvez signer un fichier. *Vous devez connaître le SHA-1 hachage ou l'empreinte numérique du certificat.* L'empreinte numérique garantit que Mage.exe seuls les certificats vérifiés par sont utilisés. AWS CloudHSM Dans cet exemple, nous utilisons PowerShell pour obtenir le hachage du certificat.

**Pour obtenir l’empreinte d’un certificat et l’utiliser pour signer un fichier**

1. Accédez au répertoire contenant`mage.exe`. L'emplacement par défaut est :

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

1. Pour créer un exemple de fichier d'application à l'aide de Mage.exe, exécutez la commande suivante :

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

1. Ouvrez PowerShell en tant qu'administrateur et exécutez la commande suivante :

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

   Copiez les `Provider` valeurs `Thumbprint``Key Container`, et de la sortie.  
![Le hachage du certificat sera affiché sous forme d'empreinte numérique, de conteneur clé et de fournisseur dans la sortie](http://docs.aws.amazon.com/fr_fr/cloudhsm/latest/userguide/images/certstore-my-certificate.png)

1. Signez votre fichier en exécutant la commande suivante :

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

   Si la commande aboutit, PowerShell renvoie un message de réussite.

1. Pour vérifier la signature du fichier, utilisez la commande suivante :

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