Use a Ferramenta de Geração e Edição de Manifestos da Microsoft (Mage.exe) com AWS CloudHSM para assinar arquivos - AWS CloudHSM

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

Use a Ferramenta de Geração e Edição de Manifestos da Microsoft (Mage.exe) com AWS CloudHSM para assinar arquivos

nota

AWS CloudHSM suporta somente a ferramenta Mage de 64 bits incluída no SDK do Windows para .NET Framework 4.8.1 e versões posteriores.

Os tópicos a seguir fornecem uma visão geral de como usar o Mage.exe com AWS CloudHSM.

Etapa 1: configurar os pré-requisitos

Para usar o Microsoft Mage.exe com AWS CloudHSM, você precisa do seguinte:

  • Uma EC2 instância da Amazon executando um sistema operacional Windows

  • Uma autoridade de certificação (CA), auto-mantida ou estabelecida por um provedor terceirizado

  • Um AWS CloudHSM cluster ativo na mesma nuvem privada virtual (VPC) da sua EC2 instância, com pelo menos um HSM

  • Um usuário criptográfico (UC) para possuir e gerenciar chaves no cluster AWS CloudHSM

  • Um arquivo não assinado ou executável

  • O Kit de desenvolvimento de software (SDK) do Microsoft Windows

Para configurar os pré-requisitos para uso com o Mage.exe AWS CloudHSM
  1. Execute uma EC2 instância do Windows e um AWS CloudHSM cluster seguindo as instruções na seção Introdução deste guia.

  2. Se você quiser hospedar sua própria CA do Windows Server, conclua as etapas 1 e 2 em Configurando o Windows Server como uma autoridade de certificação com AWS CloudHSM. Caso contrário, use a sua CA terceirizada confiável publicamente.

  3. Baixe e instale o SDK do Microsoft Windows para .NET Framework 4.8.1 ou posterior em sua EC2 instância do Windows:

    O executável mage.exe faz parte das ferramentas do SDK do Windows. O local de instalação padrão é:

    C:\Program Files (x86)\Windows Kits\<SDK version>\bin\<version number>\x64\Mage.exe

Depois de concluir essas etapas, você pode usar o SDK do Microsoft Windows, seu AWS CloudHSM cluster e sua CA para criar um certificado de assinatura.

Etapa 2: criar um certificado de assinatura

Agora que você instalou o SDK do Windows na sua EC2 instância, pode usá-lo para gerar uma solicitação de assinatura de certificado (CSR). A CSR é um certificado não assinado que você envia para a CA para assinatura. Neste exemplo, usamos o executável certreq incluído com o SDK do Windows para gerar a CSR.

Para gerar uma CSR usando o executável certreq
  1. Conecte-se à sua EC2 instância do Windows. Para obter mais informações, consulte Connect to Your Instance no Guia EC2 do usuário da Amazon.

  2. Crie um arquivo chamado request.inf com o conteúdo a seguir. Substitua as informações de Subject pelos detalhes da sua organização:

    [Version] Signature= $Windows NT$ [NewRequest] Subject = "C=<Country>,CN=<www.website.com>,O=<Organization>,OU=<Organizational-Unit>,L=<City>,S=<State>" RequestType=PKCS10 HashAlgorithm = SHA256 KeyAlgorithm = RSA KeyLength = 2048 ProviderName = "CloudHSM Key Storage Provider" KeyUsage = "CERT_DIGITAL_SIGNATURE_KEY_USAGE" MachineKeySet = True Exportable = False

    Para obter uma explicação de cada parâmetro, consulte a Documentação da Microsoft.

  3. Execute certreq.exe para gerar a CSR:

    certreq.exe -new request.inf request.csr

    Esse comando gera um novo par de chaves em seu AWS CloudHSM cluster e usa a chave privada para criar a CSR.

  4. Envie a CSR à sua CA. Se estiver usando uma CA do Windows Server, siga estas etapas:

    1. Abra a ferramenta de CA:

      certsrv.msc
    2. Na nova janela, clique com o botão direito do mouse no nome do servidor da CA. Escolha All Tasks (Todas as tarefas) e depois escolha Submit new request (Enviar nova solicitação).

    3. Navegue até o local de request.csr e escolha Abrir.

    4. Navegue até a pasta Solicitações pendentes expandindo o menu CA do servidor. Clique com o botão direito do mouse na solicitação que você acabou de criar e, em Todas as tarefas, escolha Problema.

    5. Acesse a pasta Certificados emitidos.

    6. Escolha Open (Abrir) para visualizar o certificado e depois escolha a guia Details (Detalhes).

    7. Escolha Copy to File (Copiar no arquivo) para iniciar o Certificate Export Wizard (Assistente de exportação da CA). Salve o arquivo X.509 codificado por DER em um local seguro como signedCertificate.cer.

    8. Saia da ferramenta de CA e execute o comando a seguir para mover o arquivo do certificado para o armazenamento de certificados pessoais no Windows.

      certreq.exe -accept signedCertificate.cer

Agora, você pode usar o certificado importado para assinar um arquivo.

Etapa 3: assinar um arquivo

Agora que tem a Mage.exe e seu certificado importado, você pode assinar um arquivo. Você precisa saber o hash SHA-1 do certificado ou a impressão digital. A impressão digital garante que a Mage.exe use apenas certificados verificados por AWS CloudHSM. Neste exemplo, usamos PowerShell para obter o hash do certificado.

Para obter uma impressão digital do certificado e usá-lo para assinar um arquivo
  1. Acesse o diretório que contém mage.exe. O local padrão é:

    C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8.1 Tools\x64
  2. Para criar um arquivo de aplicação de amostra usando Mage.exe, execute o seguinte comando:

    mage.exe -New Application -ToFile C:\Users\Administrator\Desktop\sample.application
  3. Abra PowerShell como administrador e execute o seguinte comando:

    Get-ChildItem -path cert:\LocalMachine\My

    Copie os valores Thumbprint, Key Container e Provider do resultado.

    O hash do certificado será exibido como impressão digital, contêiner de chaves e provedor na saída
  4. Assine seu arquivo executando o seguinte comando:

    mage.exe -Sign -CertHash <thumbprint> -KeyContainer <keycontainer> -CryptoProvider <CloudHSM Key Storage Provider/Cavium Key Storage Provider> C:\Users\Administrator\Desktop\<sample.application>

    Se o comando for bem-sucedido, PowerShell retornará uma mensagem de sucesso.

  5. Para verificar a assinatura no arquivo, use o seguinte comando:

    mage.exe -Verify -CryptoProvider <CloudHSM Key Storage Provider/Cavium Key Storage Provider> C:\Users\Administrator\Desktop\<sample.application>