

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Migre seu provedor de armazenamento de chaves (KSP) do SDK do AWS CloudHSM cliente 3 para o SDK do cliente 5
<a name="ksp-migrate-to-sdk-5"></a>

Este tópico explica como migrar seu [Provedor de armazenamento de chaves (KSP)](ksp-library.md) do Client SDK 3 do AWS CloudHSM para o Client SDK 5 A versão mais recente do SDK AWS CloudHSM do cliente é a 5.16. Para obter informações sobre os benefícios da migração, consulte [Benefícios do AWS CloudHSM Client SDK 5](client-sdk-5-benefits.md).

Em AWS CloudHSM, você usa o AWS CloudHSM Client Software Development Kit (SDK) para realizar operações criptográficas. O Client SDK 5 é o SDK principal que recebe novos atributos e atualizações de suporte de plataforma.

Para obter as instruções de migração para todos os provedores, consulte [Migração do SDK do AWS CloudHSM cliente 3 para o SDK do cliente 5](client-sdk-migration.md).

## Migrar para o Client SDK 5
<a name="ksp-migrate-steps"></a>

1. Pare o Client Daemon para o Client SDK 3.

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

1. Instale o Provedor de armazenamento de chaves (KSP) do Client SDK 5 na sua instância do Windows Server. Para instruções, consulte [Instale o provedor de armazenamento de chaves (KSP) para o AWS CloudHSM Client SDK 5](ksp-library-install.md).

1. Configure o Provedor de armazenamento de chaves (KSP) do Client SDK 5 usando o novo formato de arquivo de configuração e a ferramenta de inicialização de linha de comando. Para instruções, consulte [Bootstrap o Client SDK](cluster-connect.md#connect-how-to).

1. O Key Storage Provider (KSP) para o AWS CloudHSM Client SDK 5 inclui o modo de SDK3 compatibilidade para oferecer suporte aos principais arquivos de referência gerados em. SDK3 Para obter mais informações, consulte [SDK3 modo de compatibilidade do Key Storage Provider (KSP) para AWS CloudHSM](ksp-library-configs-sdk3-compatibility-mode.md).
**nota**  
Você deve ativar o modo de SDK3 compatibilidade ao usar os arquivos de referência de chave gerados pelo Client SDK 3 com o Client SDK 5.

## Migrar para novas instâncias do Windows Server
<a name="ksp-migrate-new-windows"></a>

1. Conclua todas as etapas em [Migrar para o Client SDK 5](#ksp-migrate-steps) em suas novas instâncias do Windows Server.

1. 

**Verificar arquivos de referência de chaves existentes**  
Em sua instância original do Windows Server, verifique os arquivos de referência chave em `C:\Users\Default\AppData\Roaming\Microsoft\Crypto\CaviumKSP\GlobalPartition`.
   + Se existirem arquivos de referência chave, copie todo o conteúdo em `C:\Users\Default\AppData\Roaming\Microsoft\Crypto\CaviumKSP` incluindo `GlobalPartition`, para o mesmo caminho de diretório na sua nova instância do Windows Server. Crie o diretório, caso ele ainda não exista.
   + Se os arquivos de referência chave não existirem, use `cloudhsm-cli key generate-file --encoding ksp-key-reference` em sua nova instância do Windows Server para criá-los. Para instruções, consulte [Gerar referências de chave KSP (Windows)](cloudhsm_cli-key-generate-file.md#key-generate-ksp-key-reference).

1. 

**Verificar um certificado raiz**  
Verifique seu certificado raiz nas autoridades de certificação raiz confiáveis:

   ```
   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**  
Anote o número de série do certificado para uso na próxima etapa.

1. 

**Exportar um certificado raiz**  
Exporte o certificado raiz para um arquivo:

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

1. 

**Verificar o certificado de backend do HSM**  
Verifique seu certificado de backend do HSM no repositório de certificados pessoais:

   ```
   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**  
Anote o número de série do certificado para uso na próxima etapa.

1. 

**Exportar certificado de backend do HSM**  
Exporte o certificado de backend do HSM para um arquivo:

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

1. 

**Importar um certificado raiz**  
Na sua nova instância do Windows:

   1. Copie o arquivo CA raiz para sua nova instância do Windows

   1. Importe o certificado:

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

1. 

**Verificar a instalação do certificado raiz**  
Confirme se o certificado raiz foi instalado corretamente:

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

**Importar um certificado de backend do HSM**  
Na sua nova instância do Windows:

   1. Copie o certificado de backend do HSM para sua nova instância do Windows

   1. Importe o certificado:

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

1. 

**Verificar a instalação do certificado de backend do HSM**  
Confirme se o certificado de backend do HSM foi instalado corretamente:

   ```
   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**  
Anote o número de série do certificado para uso nas próximas etapas.

1. 

**Criar um arquivo de referência de chaves (opcional)**  
Conclua esta etapa somente se precisar criar um novo arquivo de referência de chave. Caso contrário, siga para a próxima etapa.
**nota**  
Esse atributo só está disponível no SDK versão 5.16.0 e posterior.

   1. Instale o [OpenSSL](https://slproweb.com/products/Win32OpenSSL.html) e extraia o módulo:

      ```
      openssl x509 -in {{signed-certificate-name}}.cer -modulus -noout
      ```
**nota**  
O comando OpenSSL gera o módulo no formato: `Modulus={{modulus-value}}`. Observe o {{modulus-value}} para uso no próximo comando.

   1. Crie um arquivo de referência chave com a CloudHSM CLI, consulte: [Gerar referências de chave 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=0x{{modulus-value}}
      ```
**nota**  
Os argumentos do comando {{modulus-value}} na CLI do CloudHSM devem ser `0x` prefixados com para indicar o formato hexadecimal.  
Os principais arquivos de referência são criados em `C:\Users\Default\AppData\Roaming\Microsoft\Crypto\CaviumKSP\GlobalPartition`.

1. 

**Criar configuração de restauração**  
Crie um arquivo chamado `repair.txt` com o seguinte conteúdo:

   ```
   [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**  
{{key-container-name}}Substitua pelo nome do arquivo de referência chave de. `C:\Users\Default\AppData\Roaming\Microsoft\Crypto\CaviumKSP\GlobalPartition`

1. 

**Reparar o armazenamento de certificados**  
Execute o comando repair:

   ```
   certutil -repairstore My {{certificate-serial-number}} repair.txt
   ```
**nota**  
O número de série do certificado é obtido nas etapas anteriores ao verificar a instalação do certificado de backend do HSM.

1. 

**Verificar uma associação de certificados**  
Confirme se o certificado foi associado corretamente:

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

   Verifique se a saída mostra:
   + O nome correto do contêiner de chaves
   + O Cavium Key Storage Provider
   + Esse `ERROR: Could not verify certificate public key against private key` é um problema conhecido, consulte [Problema: falha na verificação de um armazenamento de certificados](ki-ksp-sdk.md#ki-ksp-1)

1. 

**Testar a aplicação**  
Antes de concluir a migração:

   1. Teste sua aplicação em seu ambiente de desenvolvimento.

   1. Atualize seu código para resolver quaisquer alterações importantes

   1. Para obter orientação específica da aplicação, consulte [Integrando aplicativos de terceiros com AWS CloudHSM](third-party-applications.md)

## Verificar a migração
<a name="ksp-migrate-verification"></a>

Depois de concluir as etapas de migração, verifique se:
+ Seus certificados estão instalados corretamente nos repositórios de certificados corretos
+ Os principais arquivos de referência estão presentes no local correto
+ Sua aplicação pode realizar operações criptográficas usando os certificados migrados

## Solução de problemas
<a name="ksp-migrate-troubleshooting"></a>

Se você encontrar problemas durante a migração, verifique:
+ Todos os certificados são exportados corretamente do sistema de origem
+ Os números de série do certificado coincidem entre os sistemas
+ Os nomes dos contêineres principais no arquivo repair.txt correspondem aos seus arquivos de referência de chave
+ SDK3 o modo de compatibilidade é ativado se estiver usando arquivos SDK3 de referência de chave gerados

## Tópicos relacionados
<a name="ksp-migrate-to-sdk-5-seealso"></a>
+ [Melhores práticas para AWS CloudHSM](best-practices.md)