Associar uma chave AWS CloudHSM a um certificado
Antes de poder utilizar chaves AWS CloudHSM com ferramentas de terceiros, como o SignTool
Etapa 1: Importar certificado
No Windows, você deve conseguir clicar duas vezes no certificado para importá-lo para o armazenamento de certificados local.
No entanto, se clicar duas vezes não funcionar, use a ferramenta Microsoft Certreq
certreq -accept
certificatename
Se essa ação falhar e você receber o erro Key not found
, continue para a etapa 2. Se o certificado aparecer no repositório de chaves, você concluiu a tarefa e nenhuma ação adicional será necessária.
Etapa 2: Coletar informações de identificação de certificado
Se a etapa anterior não tiver sido bem-sucedida, você precisará associar sua chave privada a um certificado. No entanto, antes de criar a associação, você deve primeiro localizar o nome exclusivo do contêiner e o número de série do certificado. Use um utilitário, como certutil, para exibir as informações necessárias do certificado. A saída de exemplo a seguir do certutil mostra o nome do contêiner e o número de série.
================ Certificate 1 ================ Serial Number: 72000000047f7f7a9d41851b4e000000000004Issuer: CN=Enterprise-CANotBefore: 10/8/2019 11:50 AM NotAfter: 11/8/2020 12:00 PMSubject: CN=www.example.com, OU=Certificate Management, O=Information Technology, L=Seattle, S=Washington, C=USNon-root CertificateCert Hash(sha1): 7f d8 5c 00 27 bf 37 74 3d 71 5b 54 4e c0 94 20 45 75 bc 65No key provider information Simple container name: CertReq-39c04db0-6aa9-4310-93db-db0d9669f42c Unique container name: CertReq-39c04db0-6aa9-4310-93db-db0d9669f42c
Etapa 3: Associar a chave privada AWS CloudHSM ao certificado
Para associar a chave ao certificado, primeiro certifique-se de iniciar o daemon cliente do AWS CloudHSM. Em seguida, use import_key.exe (que está incluído no CloudHSM versão 3.0 e superior) para associar a chave privada ao certificado. Ao especificar o certificado, use seu nome de contêiner simples. O exemplo a seguir mostra o comando e a resposta. Esta ação copia apenas os metadados da chave, a chave permanece no HSM.
$> import_key.exe –RSA CertReq-39c04db0-6aa9-4310-93db-db0d9669f42c Successfully opened Microsoft Software Key Storage Provider : 0NCryptOpenKey failed : 80090016
Etapa 4: Atualizar o armazenamento de certificados
Assegure-se de que o daemon cliente do AWS CloudHSM ainda esteja em execução. Em seguida, use o verbo certutil -repairstore para atualizar o número de série do certificado. O exemplo a seguir mostra o comando e a saída. Consulte a documentação da Microsoft para obter informações sobre o verbo -repairstore
C:\Program Files\Amazon\CloudHSM>certutil -f -csp "Cavium Key Storage Provider"-repairstore my "72000000047f7f7a9d41851b4e000000000004" my "Personal" ================ Certificate 1 ================ Serial Number: 72000000047f7f7a9d41851b4e000000000004 Issuer: CN=Enterprise-CA NotBefore: 10/8/2019 11:50 AM NotAfter: 11/8/2020 12:00 PM Subject: CN=www.example.com, OU=Certificate Management, O=Information Technology, L=Seattle, S=Washington, C=US Non-root CertificateCert Hash(sha1): 7f d8 5c 00 27 bf 37 74 3d 71 5b 54 4e c0 94 20 45 75 bc 65 SDK Version: 3.0 Key Container = CertReq-39c04db0-6aa9-4310-93db-db0d9669f42c Provider = Cavium Key Storage ProviderPrivate key is NOT exportableEncryption test passedCertUtil: -repairstore command completed successfully.
Depois de atualizar o número de série do certificado, você pode usar esse certificado e a chave privada AWS CloudHSM correspondente com qualquer ferramenta de assinatura de terceiros no Windows.