

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Usa Microsoft Manifest Generation and Editing Tool (Mage.exe) con AWS CloudHSM per firmare i file
<a name="third-magetool"></a>

**Nota**  
AWS CloudHSM supporta solo lo strumento Mage a 64 bit incluso in Windows SDK for .NET Framework 4.8.1 e versioni successive.

[Negli argomenti seguenti viene fornita una panoramica su come utilizzare Mage.exe con.](https://learn.microsoft.com/en-us/dotnet/framework/tools/mage-exe-manifest-generation-and-editing-tool) AWS CloudHSM

**Topics**
+ [Fase 1: configurazione dei prerequisiti](#magetool-prereqs)
+ [Fase 2: Creare un certificato di firma](#magetool-csr)
+ [Fase 3: Firma un file](#magetool-sign)

## Fase 1: configurazione dei prerequisiti
<a name="magetool-prereqs"></a>

Per utilizzare Microsoft Mage.exe con AWS CloudHSM, è necessario quanto segue:
+ Un' EC2 istanza Amazon che esegue un sistema operativo Windows
+ Un'autorità di certificazione (CA), gestita autonomamente o fornita da un fornitore terzo
+ Un AWS CloudHSM cluster attivo nello stesso cloud privato virtuale (VPC) dell' EC2 istanza, con almeno un HSM
+ Un utente crittografico (CU) per possedere e gestire le chiavi nel cluster AWS CloudHSM 
+ Un file o eseguibile non firmato
+ Il kit di sviluppo software (SDK) per Microsoft Windows

**Per impostare i prerequisiti per l'utilizzo con Mage.exe AWS CloudHSM**

1. Avvia un' EC2 istanza Windows e un AWS CloudHSM cluster seguendo le istruzioni nella sezione Guida [introduttiva](getting-started.md) di questa guida.

1. Se desideri ospitare la tua CA di Windows Server, completa i passaggi 1 e 2 in [Configurazione di Windows Server come autorità di certificazione con AWS CloudHSM](win-ca-overview-sdk5.md). Altrimenti, utilizza la tua CA di terze parti pubblicamente attendibile.

1. Scarica e installa Microsoft Windows SDK for .NET Framework 4.8.1 o versione successiva sulla tua EC2 istanza di Windows:
   + [Microsoft Windows SDK 10](https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk)

   L'`mage.exe`eseguibile fa parte degli strumenti di Windows SDK. Il percorso di installazione predefinito è:

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

Dopo aver completato questi passaggi, puoi utilizzare Microsoft Windows SDK, il tuo AWS CloudHSM cluster e la tua CA per [creare un certificato di firma](#magetool-csr).

## Fase 2: Creare un certificato di firma
<a name="magetool-csr"></a>

Ora che hai installato Windows SDK sulla tua EC2 istanza, puoi utilizzarlo per generare una richiesta di firma del certificato (CSR). Il CSR è un certificato non firmato che invii alla tua CA per la firma. In questo esempio, utilizziamo l'`certreq`eseguibile incluso in Windows SDK per generare la CSR.

**Per generare una CSR utilizzando l'eseguibile certreq**

1. Connect alla tua EC2 istanza di Windows. Per ulteriori informazioni, consulta [Connect to Your Instance](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/EC2_GetStarted.html#ec2-connect-to-instance-windows) nella *Amazon EC2 User Guide*.

1. Crea un archivio denominato `request.inf` con i seguenti contenuti. Sostituisci le `Subject` informazioni con i dettagli della tua organizzazione:

   ```
   [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
   ```

   Per una spiegazione di ciascun parametro, consulta la [documentazione di Microsoft](https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/certreq_1#BKMK_New).

1. Esegui `certreq.exe` per generare la CSR:

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

   Questo comando genera una nuova coppia di chiavi sul AWS CloudHSM cluster e utilizza la chiave privata per creare la CSR.

1. Invia la CSR alla CA. Se utilizzi una CA di Windows Server, segui questi passaggi:

   1. Apri lo strumento CA:

      ```
      certsrv.msc
      ```

   1. Nella nuova finestra, fare clic con il pulsante destro del mouse sul nome del server CA. Scegliere **All tasks (Tutte le attività)**, quindi scegliere **Submit new request (Sottometti nuova richiesta)**.

   1. Vai alla posizione di `request.csr` e scegli **Apri**.

   1. Espandi il menu **Server CA** e vai alla cartella **Richieste in sospeso**. Fai clic con il pulsante destro del mouse sulla richiesta appena creata, scegli **Tutte le attività**, quindi scegli **Emetti**.

   1. Vai alla cartella **Certificati emessi**.

   1. Scegliere **Apri** per visualizzare il certificato, quindi scegliere la scheda**Details (Dettagli)**.

   1. Scegliere **Copy to File (Copia su File)** per avviare la procedura guidata di esportazione dei certificati. Salva il file codificato DER X.509 in un percorso sicuro come `signedCertificate.cer`.

   1. Esci dallo strumento CA ed esegui il seguente comando per spostare il file del certificato nel Personal Certificate Store in Windows:

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

È ora possibile utilizzare il certificato importato per [firmare un file](#magetool-sign).

## Fase 3: Firma un file
<a name="magetool-sign"></a>

Ora che hai Mage.exe e il certificato importato, puoi firmare un file. *È necessario conoscere l'hash SHA-1 o l'impronta digitale del certificato.* L'impronta digitale garantisce che Mage.exe utilizzi solo certificati verificati da. AWS CloudHSM In questo esempio, lo usiamo PowerShell per ottenere l'hash del certificato.

**Per ottenere l’identificazione personale del certificato e utilizzarlo per firmare un file**

1. Passa alla directory contenente`mage.exe`. La posizione predefinita è:

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

1. Per creare un file di applicazione di esempio utilizzando Mage.exe, esegui il comando seguente:

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

1. Apri PowerShell come amministratore ed esegui il comando seguente:

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

   Copia i `Provider` valori `Thumbprint``Key Container`, e dall'output.  
![\[L'hash del certificato verrà visualizzato come impronta digitale, keycontainer e provider nell'output\]](http://docs.aws.amazon.com/it_it/cloudhsm/latest/userguide/images/certstore-my-certificate.png)

1. Firma il file eseguendo il seguente comando:

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

   Se il comando ha esito positivo, PowerShell restituisce un messaggio di successo.

1. Per verificare la firma sul file, utilizzate il seguente comando:

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