

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.

# Migrez votre fournisseur de stockage de clés (KSP) du SDK AWS CloudHSM client 3 vers le SDK client 5
<a name="ksp-migrate-to-sdk-5"></a>

Cette rubrique explique comment migrer votre [fournisseur de stockage de clés (KSP)](ksp-library.md) du SDK AWS CloudHSM client 3 vers le SDK client 5. La dernière version du SDK AWS CloudHSM client est la 5.16. Pour plus d'informations sur les avantages de la migration, consultez[Avantages du SDK AWS CloudHSM client 5](client-sdk-5-benefits.md).

Dans AWS CloudHSM, vous utilisez le kit de développement logiciel (SDK) AWS CloudHSM client pour effectuer des opérations cryptographiques. Le SDK client 5 est le SDK principal qui reçoit les nouvelles fonctionnalités et les mises à jour de support de la plateforme.

Pour les instructions de migration pour tous les fournisseurs, voir[Migration du SDK AWS CloudHSM client 3 vers le SDK client 5](client-sdk-migration.md).

## Migrer vers le SDK client 5
<a name="ksp-migrate-steps"></a>

1. Arrêtez le démon client pour le SDK client 3.

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

1. Installez le fournisseur de stockage de clés (KSP) du SDK client (KSP) sur votre instance Windows Server. Pour obtenir des instructions, veuillez consulter [Installation du fournisseur de stockage de clés (KSP) pour le SDK AWS CloudHSM client 5](ksp-library-install.md).

1. Configurez votre fournisseur de stockage de clés (KSP) du SDK client (KSP) à l'aide du nouveau format de fichier de configuration et de l'outil de démarrage en ligne de commande. Pour obtenir des instructions, veuillez consulter [Amorcez le SDK client](cluster-connect.md#connect-how-to).

1. Le fournisseur de stockage de clés (KSP) pour AWS CloudHSM le SDK client 5 inclut le mode de SDK3 compatibilité pour prendre en charge les fichiers de référence clés générés dans. SDK3 Pour de plus amples informations, veuillez consulter [SDK3 mode de compatibilité pour le fournisseur de stockage de clés (KSP) pour AWS CloudHSM](ksp-library-configs-sdk3-compatibility-mode.md).
**Note**  
Vous devez activer le mode de SDK3 compatibilité lorsque vous utilisez les fichiers de référence clés générés par le SDK client 3 avec le SDK client 5.

## Migrer vers de nouvelles instances Windows Server
<a name="ksp-migrate-new-windows"></a>

1. Effectuez toutes les étapes de [la section Migrer vers le SDK client 5](#ksp-migrate-steps) sur vos nouvelles instances Windows Server.

1. 

**Vérifiez les fichiers de référence clés existants**  
Sur votre instance Windows Server d'origine, recherchez la présence de fichiers de référence clés dans`C:\Users\Default\AppData\Roaming\Microsoft\Crypto\CaviumKSP\GlobalPartition`.
   + Si des fichiers de référence clés existent, copiez tout le contenu sous « `C:\Users\Default\AppData\Roaming\Microsoft\Crypto\CaviumKSP` y `GlobalPartition` » dans le même chemin de répertoire sur votre nouvelle instance Windows Server. Créez le répertoire s'il n'existe pas.
   + Si les fichiers de référence clés n'existent pas, utilisez-les `cloudhsm-cli key generate-file --encoding ksp-key-reference` sur votre nouvelle instance Windows Server pour les créer. Pour obtenir des instructions, veuillez consulter [Génération de références clés KSP (Windows)](cloudhsm_cli-key-generate-file.md#key-generate-ksp-key-reference).

1. 

**Vérifier le certificat racine**  
Vérifiez votre certificat racine auprès des autorités de certification racine fiables :

   ```
   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.
   ```
**Note**  
Notez le numéro de série du certificat à utiliser à l'étape suivante.

1. 

**Exporter le certificat racine**  
Exportez le certificat racine vers un fichier :

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

1. 

**Vérifier le certificat HSM-Backend**  
Vérifiez votre certificat HSM-backend dans le magasin de certificats personnels :

   ```
   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.
   ```
**Note**  
Notez le numéro de série du certificat à utiliser à l'étape suivante.

1. 

**Exporter le certificat HSM-backend**  
Exportez le certificat HSM-Backend vers un fichier :

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

1. 

**Importer le certificat racine**  
Sur votre nouvelle instance Windows :

   1. Copiez le fichier CA racine sur votre nouvelle instance Windows

   1. Importez le certificat :

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

1. 

**Vérifier l'installation du certificat racine**  
Vérifiez que le certificat racine est correctement installé :

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

**Importer un certificat HSM-Backend**  
Sur votre nouvelle instance Windows :

   1. Copiez le certificat HSM-Backend sur votre nouvelle instance Windows

   1. Importez le certificat :

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

1. 

**Vérifier l'installation du certificat HSM-backend**  
Vérifiez que le certificat HSM-Backend est correctement installé :

   ```
   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.
   ```
**Note**  
Notez le numéro de série du certificat à utiliser dans les étapes suivantes.

1. 

**Création d'un fichier de référence clé (facultatif)**  
Effectuez cette étape uniquement si vous devez créer un nouveau fichier de référence clé. Sinon, passez à l'étape suivante.
**Note**  
Cette fonctionnalité n'est disponible que dans les versions 5.16.0 et ultérieures du SDK.

   1. Installez [OpenSSL](https://slproweb.com/products/Win32OpenSSL.html) et extrayez le module :

      ```
      openssl x509 -in signed-certificate-name.cer -modulus -noout
      ```
**Note**  
La commande OpenSSL affiche le module au format :. `Modulus=modulus-value` Notez le *modulus-value* à utiliser dans la commande suivante.

   1. Créez un fichier de référence clé avec la CLI CloudHSM, voir : [Génération de références clés 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
      ```
**Note**  
Les arguments de la commande *modulus-value* in CloudHSM CLI doivent être `0x` préfixés par un préfixe pour indiquer le format hexadécimal.  
Les fichiers de référence clés sont créés dans`C:\Users\Default\AppData\Roaming\Microsoft\Crypto\CaviumKSP\GlobalPartition`.

1. 

**Création d'une configuration de réparation**  
Créez un fichier nommé `repair.txt` avec le contenu suivant:

   ```
   [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"
   ```
**Note**  
Remplacez *key-container-name* par le nom de fichier de référence clé de`C:\Users\Default\AppData\Roaming\Microsoft\Crypto\CaviumKSP\GlobalPartition`.

1. 

**Boutique de certificats de réparation**  
Exécutez la commande de réparation :

   ```
   certutil -repairstore My certificate-serial-number repair.txt
   ```
**Note**  
Le numéro de série du certificat est obtenu lors des étapes précédentes lors de la vérification de l'installation du certificat HSM-backend.

1. 

**Vérifier l'association des certificats**  
Vérifiez que le certificat est correctement associé :

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

   Vérifiez que le résultat indique :
   + Le nom correct du conteneur clé
   + Le fournisseur de stockage de clés Cavium
   + `ERROR: Could not verify certificate public key against private key`Il s'agit d'un problème connu, voir [Problème : échec de la vérification d'un magasin de certificats](ki-ksp-sdk.md#ki-ksp-1)

1. 

**Testez votre application**  
Avant de terminer la migration :

   1. Testez votre application dans votre environnement de développement

   1. Mettez à jour votre code pour corriger les modifications importantes

   1. Pour obtenir des conseils spécifiques à l'application, voir [Intégration d'applications tierces avec AWS CloudHSM](third-party-applications.md)

## Vérifiez la migration
<a name="ksp-migrate-verification"></a>

Une fois les étapes de migration terminées, vérifiez que :
+ Vos certificats sont correctement installés dans les magasins de certificats appropriés
+ Les fichiers de référence clés sont présents au bon endroit
+ Votre application peut effectuer des opérations cryptographiques à l'aide des certificats migrés

## Résolution des problèmes
<a name="ksp-migrate-troubleshooting"></a>

Si vous rencontrez des problèmes lors de la migration, vérifiez :
+ Tous les certificats sont correctement exportés depuis le système source
+ Les numéros de série des certificats correspondent entre les systèmes
+ Les noms des conteneurs clés dans le fichier repair.txt correspondent à vos fichiers de référence clés
+ SDK3 le mode de compatibilité est activé si vous utilisez des SDK3 fichiers de référence clés générés par

## Rubriques en relation
<a name="ksp-migrate-to-sdk-5-seealso"></a>
+ [Les meilleures pratiques pour AWS CloudHSM](best-practices.md)