Migrar seu Provedor de armazenamento de chaves (KSP) do Client SDK 3 do AWS CloudHSM para o Client SDK 5
Este tópico explica como migrar seu Provedor de armazenamento de chaves (KSP) do Client SDK 3 do AWS CloudHSM para o Client SDK 5 A versão mais recente do Client SDK do AWS CloudHSM é a 5.16. Para obter informações sobre os benefícios da migração, consulte Benefícios do Client SDK 5 do AWS CloudHSM.
No AWS CloudHSM, você usa o Kit de Desenvolvimento de Software (SDK) do Cliente do AWS CloudHSM 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 Migrar do Client SDK 3 do AWS CloudHSM para o Client SDK 5.
Migrar para o Client SDK 5
-
Pare o Client Daemon para o Client SDK 3.
PS C:\>Stop-Service "AWS CloudHSM Client" -
Instale o Provedor de armazenamento de chaves (KSP) do Client SDK 5 na sua instância do Windows Server. Para instruções, consulte Instalar o provedor de armazenamento de chaves (KSP) para o AWS CloudHSM Client SDK 5.
-
Configure seu 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.
-
O Provedor de armazenamento de chaves (KSP) para o Client SDK 5 do AWS CloudHSM inclui o modo de compatibilidade do SDK3 para oferecer suporte aos principais arquivos de referência gerados no SDK3. Para obter mais informações, consulte Modo de compatibilidade do SDK3 para Provedor de armazenamento de chaves (KSP) para AWS CloudHSM.
nota
Você deve ativar o modo de compatibilidade do SDK3 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
-
Conclua todas as etapas em Migrar para o Client SDK 5 em suas novas instâncias do Windows Server.
-
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\CaviumKSPincluindoGlobalPartition, 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-referenceem sua nova instância do Windows Server para criá-los. Para instruções, consulte Gerar referências de chave KSP (Windows).
-
-
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-numberIssuer: 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-hashNo 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.
-
Exportar um certificado raiz
Exporte o certificado raiz para um arquivo:
certutil -store Rootcertificate-serial-numberroot-certificate-name.cer -
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-numberIssuer: 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-hashKey Container =key-container-nameProvider = 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.
-
Exportar certificado de backend do HSM
Exporte o certificado de backend do HSM para um arquivo:
certutil -store Mycertificate-serial-numbersigned-certificate-name.cer -
Importar um certificado raiz
Na sua nova instância do Windows:
-
Copie o arquivo CA raiz para sua nova instância do Windows
-
Importe o certificado:
certutil -addstore Rootroot-certificate-name.cer
-
-
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-numberIssuer: 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-hashNo key provider information Cannot find the certificate and private key for decryption. CertUtil: -store command completed successfully. -
Importar um certificado de backend do HSM
Na sua nova instância do Windows:
-
Copie o certificado de backend do HSM para sua nova instância do Windows
-
Importe o certificado:
certutil -addstore Mysigned-certificate-name.cer
-
-
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-numberIssuer: 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-hashNo 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.
-
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.
-
Instale o OpenSSL
e extraia o módulo: openssl x509 -insigned-certificate-name.cer -modulus -nooutnota
O comando OpenSSL gera o módulo no formato:
Modulus=. Anote o valormodulus-valuemodulus-valuepara uso no próximo comando. -
Crie um arquivo de referência chave com a CloudHSM CLI, consulte: Gerar referências de chave KSP (Windows)
& "C:\Program Files\Amazon\CloudHSM\bin\cloudhsm-cli.exe" key generate-file --encoding ksp-key-reference --filter attr.class=private-key attr.modulus=0xmodulus-valuenota
O
modulus-valuenos argumentos do comando da CloudHSM CLI deve ser prefixado com0xpara indicar o formato hexadecimal.Os principais arquivos de referência são criados em
C:\Users\Default\AppData\Roaming\Microsoft\Crypto\CaviumKSP\GlobalPartition.
-
-
Criar configuração de restauração
Crie um arquivo chamado
repair.txtcom 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
Substitua
key-container-namepelo nome do arquivo de referência chave deC:\Users\Default\AppData\Roaming\Microsoft\Crypto\CaviumKSP\GlobalPartition. -
Reparar o armazenamento de certificados
Execute o comando repair:
certutil -repairstore Mycertificate-serial-numberrepair.txtnota
O número de série do certificado é obtido nas etapas anteriores ao verificar a instalação do certificado de backend do HSM.
-
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-numberIssuer: 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-hashKey Container =key-container-nameProvider = 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
-
-
Testar a aplicação
Antes de concluir a migração:
-
Teste sua aplicação em seu ambiente de desenvolvimento.
-
Atualize seu código para resolver quaisquer alterações importantes
-
Para obter orientação específica da aplicação, consulte Integrar aplicativos de terceiros com AWS CloudHSM
-
Verificar a migração
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
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
-
O modo de compatibilidade do SDK3 é ativado se estiver usando arquivos de referência de chave gerados pelo SDK3