

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à.

# Esegui la migrazione del tuo Key Storage Provider (KSP) da AWS CloudHSM Client SDK 3 a Client SDK 5
<a name="ksp-migrate-to-sdk-5"></a>

Questo argomento spiega come migrare il [Key Storage Provider (KSP)](ksp-library.md) da AWS CloudHSM Client SDK 3 a Client SDK 5. L'ultima versione di AWS CloudHSM Client SDK è la 5.16. Per informazioni sui vantaggi della migrazione, consulta. [Vantaggi di AWS CloudHSM Client SDK 5](client-sdk-5-benefits.md)

In AWS CloudHSM, si utilizza il AWS CloudHSM Client Software Development Kit (SDK) per eseguire operazioni crittografiche. Client SDK 5 è l'SDK principale che riceve nuove funzionalità e aggiornamenti del supporto della piattaforma.

Per le istruzioni sulla migrazione per tutti i provider, consulta. [Migrazione da AWS CloudHSM Client SDK 3 a Client SDK 5](client-sdk-migration.md)

## Esegui la migrazione a Client SDK 5
<a name="ksp-migrate-steps"></a>

1. Arresta il Client Daemon per Client SDK 3.

   ```
   PS C:\> Stop-Service "AWS CloudHSM Client"
   ```

1. Installa Client SDK 5 Key Storage Provider (KSP) sulla tua istanza di Windows Server. Per istruzioni, consulta [Installa il Key Storage Provider (KSP) per AWS CloudHSM Client SDK 5](ksp-library-install.md).

1. Configura il tuo Client SDK 5 Key Storage Provider (KSP) utilizzando il nuovo formato di file di configurazione e lo strumento di avvio da riga di comando. Per istruzioni, consulta [Esegui il bootstrap di Client SDK](cluster-connect.md#connect-how-to).

1. Key Storage Provider (KSP) per AWS CloudHSM Client SDK 5 include la modalità di SDK3 compatibilità per supportare i file di riferimento chiave generati in. SDK3 Per ulteriori informazioni, consulta [SDK3 modalità di compatibilità per Key Storage Provider (KSP) per AWS CloudHSM](ksp-library-configs-sdk3-compatibility-mode.md).
**Nota**  
È necessario abilitare la modalità di SDK3 compatibilità quando si utilizzano i file di riferimento chiave generati da Client SDK 3 con Client SDK 5.

## Esegui la migrazione a nuove istanze di Windows Server
<a name="ksp-migrate-new-windows"></a>

1. Completa tutti i passaggi descritti in [Migrazione a Client SDK 5](#ksp-migrate-steps) sulle tue nuove istanze di Windows Server.

1. 

**Verifica la presenza di file di riferimento chiave esistenti**  
Nell'istanza originale di Windows Server, verifica la presenza di file di riferimento chiave in`C:\Users\Default\AppData\Roaming\Microsoft\Crypto\CaviumKSP\GlobalPartition`.
   + Se esistono file di riferimento chiave, copia tutti i contenuti in `C:\Users\Default\AppData\Roaming\Microsoft\Crypto\CaviumKSP` `GlobalPartition` Includi nello stesso percorso di directory sulla nuova istanza di Windows Server. Crea la directory se non esiste.
   + Se i file di riferimento chiave non esistono, utilizzali `cloudhsm-cli key generate-file --encoding ksp-key-reference` sulla nuova istanza di Windows Server per crearli. Per istruzioni, consulta [Generazione di riferimenti chiave KSP (Windows)](cloudhsm_cli-key-generate-file.md#key-generate-ksp-key-reference).

1. 

**Verifica il certificato principale**  
Controlla il tuo certificato principale presso le autorità di certificazione root affidabili:

   ```
   PS C:\Users\Administrator\Desktop> certutil -store Root
   
   Root "Trusted Root Certification Authorities"
   ================ Certificate 0 ================
   Serial Number: certificate-serial-number
   Issuer: CN=MYRootCA
    NotBefore: 2/5/2020 1:38 PM
    NotAfter: 2/5/2021 1:48 PM
    Issuer: CN=MYRootCA
   Signature matches Public Key
   Root Certificate: Subject matches Issuer
   Cert Hash(sha1): cert-hash
   No key provider information
   Cannot find the certificate and private key for decryption.
   CertUtil: -store command completed successfully.
   ```
**Nota**  
Annota il numero di serie del certificato da utilizzare nel passaggio successivo.

1. 

**Esporta il certificato principale**  
Esporta il certificato principale in un file:

   ```
   certutil -store Root certificate-serial-number root-certificate-name.cer
   ```

1. 

**Verifica il certificato HSM-backend**  
Controlla il tuo certificato HSM-Backend nel Personal Certificate Store:

   ```
   PS C:\Users\Administrator\Desktop> certutil -store My
   
   my "Personal"
   ================ Certificate 0 ================
   Serial Number: certificate-serial-number
   Issuer: CN=MYRootCA
    NotBefore: 2/5/2020 1:38 PM
    NotAfter: 2/5/2021 1:48 PM
   Subject: CN=www.mydomain.com, OU=Certificate Management, O=Information Technology, L=Houston, S=Texas, C=US
   Non-root Certificate
   Cert Hash(sha1): cert-hash
     Key Container = key-container-name
     Provider = Cavium Key Storage Provider
   Private key is NOT exportable
   Encryption test passed
   CertUtil: -store command completed successfully.
   ```
**Nota**  
Annota il numero di serie del certificato da utilizzare nel passaggio successivo.

1. 

**Esporta il certificato HSM-Backend**  
Esporta il certificato HSM-Backend in un file:

   ```
   certutil -store My certificate-serial-number signed-certificate-name.cer
   ```

1. 

**Importa il certificato principale**  
Sulla tua nuova istanza di Windows:

   1. Copia il file CA principale nella tua nuova istanza di Windows

   1. Importa il certificato:

      ```
      certutil -addstore Root root-certificate-name.cer
      ```

1. 

**Verifica l'installazione del certificato principale**  
Conferma che il certificato principale sia installato correttamente:

   ```
   PS C:\Users\Administrator\Desktop> certutil -store Root
   
   Root "Trusted Root Certification Authorities"
   ================ Certificate 0 ================
   Serial Number: certificate-serial-number
   Issuer: CN=MYRootCA
    NotBefore: 2/5/2020 1:38 PM
    NotAfter: 2/5/2021 1:48 PM
    Issuer: CN=MYRootCA
   Signature matches Public Key
   Root Certificate: Subject matches Issuer
   Cert Hash(sha1): cert-hash
   No key provider information
   Cannot find the certificate and private key for decryption.
   CertUtil: -store command completed successfully.
   ```

1. 

**Importa il certificato HSM-backend**  
Sulla tua nuova istanza di Windows:

   1. Copia il certificato HSM-Backend nella tua nuova istanza di Windows

   1. Importa il certificato:

      ```
      certutil -addstore My signed-certificate-name.cer
      ```

1. 

**Verifica l'installazione del certificato HSM-backend**  
Conferma che il certificato HSM-Backend sia installato correttamente:

   ```
   PS C:\Users\Administrator\Desktop> certutil -store My
   
   my "Personal"
   ================ Certificate 0 ================
   Serial Number: certificate-serial-number
   Issuer: CN=MYRootCA
    NotBefore: 2/5/2020 1:38 PM
    NotAfter: 2/5/2021 1:48 PM
   Subject: CN=www.mydomain.com, OU=Certificate Management, O=Information Technology, L=Houston, S=Texas, C=US
   Non-root Certificate
   Cert Hash(sha1): cert-hash
   No key provider information
   Cannot find the certificate and private key for decryption.
   CertUtil: -store command completed successfully.
   ```
**Nota**  
Annota il numero di serie del certificato da utilizzare nei passaggi successivi.

1. 

**Crea un file di riferimento chiave (opzionale)**  
Completate questo passaggio solo se dovete creare un nuovo file di riferimento chiave. Altrimenti, passa alla fase successiva.
**Nota**  
Questa funzionalità è disponibile solo nella versione SDK 5.16.0 e successive.

   1. Installa [OpenSSL](https://slproweb.com/products/Win32OpenSSL.html) ed estrai il modulo:

      ```
      openssl x509 -in signed-certificate-name.cer -modulus -noout
      ```
**Nota**  
Il comando OpenSSL restituisce il modulo nel formato:. `Modulus=modulus-value` Nota che deve *modulus-value* essere utilizzato nel comando successivo.

   1. Crea un file di riferimento chiave con la CLI di CloudHSM, vedi: [Generazione di riferimenti chiave KSP (Windows)](cloudhsm_cli-key-generate-file.md#key-generate-ksp-key-reference)

      ```
      & "C:\Program Files\Amazon\CloudHSM\bin\cloudhsm-cli.exe" key generate-file --encoding ksp-key-reference --filter attr.class=private-key attr.modulus=0xmodulus-value
      ```
**Nota**  
Gli *modulus-value* argomenti del comando CLI di CloudHSM devono avere il `0x` prefisso per indicare il formato esadecimale.  
I file di riferimento chiave vengono creati in. `C:\Users\Default\AppData\Roaming\Microsoft\Crypto\CaviumKSP\GlobalPartition`

1. 

**Crea una configurazione di riparazione**  
Crea un file denominato `repair.txt` con i seguenti contenuti:

   ```
   [Properties]
   11 = "" ; Add friendly name property
   2 = "{text}" ; Add Key Provider Information property
   _continue_="Container=key-container-name&"
   _continue_="Provider=Cavium Key Storage Provider&"
   _continue_="Flags=0&"
   _continue_="KeySpec=2"
   ```
**Nota**  
Sostituisci *key-container-name* con il nome del file di riferimento della chiave da. `C:\Users\Default\AppData\Roaming\Microsoft\Crypto\CaviumKSP\GlobalPartition`

1. 

**Ripara l'archivio dei certificati**  
Esegui il comando di riparazione:

   ```
   certutil -repairstore My certificate-serial-number repair.txt
   ```
**Nota**  
Il numero di serie del certificato viene ottenuto dai passaggi precedenti durante la verifica dell'installazione del certificato HSM-Backend.

1. 

**Verifica l'associazione dei certificati**  
Conferma che il certificato sia associato correttamente:

   ```
   PS C:\Users\Administrator\Desktop> certutil -store My
   
   my "Personal"
   ================ Certificate 0 ================
   Serial Number: certificate-serial-number
   Issuer: CN=MYRootCA
    NotBefore: 2/5/2020 1:38 PM
    NotAfter: 2/5/2021 1:48 PM
   Subject: CN=www.mydomain.com, OU=Certificate Management, O=Information Technology, L=Houston, S=Texas, C=US
   Non-root Certificate
   Cert Hash(sha1): cert-hash
     Key Container = key-container-name
     Provider = Cavium Key Storage Provider
   Private key is NOT exportable
   ERROR: Could not verify certificate public key against private key
   CertUtil: -store command completed successfully.
   ```

   Verifica che l'output mostri:
   + Il nome corretto del contenitore delle chiavi
   + Il provider di archiviazione delle chiavi Cavium
   + `ERROR: Could not verify certificate public key against private key`È un problema noto, vedi [Problema: la verifica di un archivio di certificati non riesce](ki-ksp-sdk.md#ki-ksp-1)

1. 

**Testa la tua applicazione**  
Prima di completare la migrazione:

   1. Testa la tua applicazione nel tuo ambiente di sviluppo

   1. Aggiorna il codice per risolvere eventuali modifiche sostanziali

   1. Per indicazioni specifiche sull'applicazione, consulta [Integrazione di applicazioni di terze parti con AWS CloudHSM](third-party-applications.md)

## Verifica la migrazione
<a name="ksp-migrate-verification"></a>

Dopo aver completato i passaggi di migrazione, verifica che:
+ I certificati sono installati correttamente negli archivi di certificati corretti
+ I file di riferimento chiave sono presenti nella posizione corretta
+ L'applicazione può eseguire operazioni crittografiche utilizzando i certificati migrati

## Risoluzione dei problemi
<a name="ksp-migrate-troubleshooting"></a>

Se riscontri problemi durante la migrazione, verifica:
+ Tutti i certificati vengono esportati correttamente dal sistema di origine
+ I numeri di serie dei certificati corrispondono tra i sistemi
+ I nomi dei contenitori delle chiavi nel file repair.txt corrispondono ai file di riferimento delle chiavi
+ SDK3 la modalità di compatibilità è abilitata se si utilizzano SDK3 file di riferimento chiave generati

## Argomenti correlati
<a name="ksp-migrate-to-sdk-5-seealso"></a>
+ [Le migliori pratiche per AWS CloudHSM](best-practices.md)