View a markdown version of this page

Utilice la herramienta de generación y edición de manifiestos de Microsoft (Mage.exe) con AWS CloudHSM para firmar archivos - AWS CloudHSM

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Utilice la herramienta de generación y edición de manifiestos de Microsoft (Mage.exe) con AWS CloudHSM para firmar archivos

nota

AWS CloudHSM solo admite la herramienta Mage de 64 bits incluida en el SDK de Windows para .NET Framework 4.8.1 y versiones posteriores.

En los temas siguientes se proporciona información general sobre cómo utilizarla Mage.exe con AWS CloudHSM.

Paso 1: configurar los requisitos previos

Para usar Microsoft Mage.exe con AWS CloudHSM, necesitas lo siguiente:

  • Una instancia de Amazon EC2 que ejecute un sistema operativo Windows.

  • Una autoridad de certificación (CA), ya sea autoadministrada o de un proveedor externo.

  • Un AWS CloudHSM clúster activo en la misma nube privada virtual (VPC) que la instancia EC2, con al menos un HSM

  • Un usuario criptográfico (CU) para poseer y administrar las claves del clúster AWS CloudHSM

  • Un archivo o ejecutable sin firmar

  • El kit de desarrollo de software (SDK) de Microsoft Windows

Para configurar los requisitos previos de uso AWS CloudHSM con Mage.exe
  1. Inicie una instancia EC2 de Windows y un AWS CloudHSM clúster siguiendo las instrucciones de la sección Introducción de esta guía.

  2. Si desea alojar su propia CA de Windows Server, complete los pasos 1 y 2 de la sección Configuración de Windows Server como entidad emisora de certificados con AWS CloudHSM. De lo contrario, utilice la CA de terceros de confianza pública.

  3. Descargue e instale el SDK de Microsoft Windows para .NET Framework 4.8.1 o una versión posterior en la instancia de Windows EC2.

    El ejecutable mage.exe forma parte de las herramientas del SDK de Windows. La ubicación de instalación predeterminada es:

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

Tras completar estos pasos, puede usar el SDK de Microsoft Windows, su AWS CloudHSM clúster y su CA para crear un certificado de firma.

Paso 2: crear un certificado de firma

Ahora que ha instalado el SDK de Windows en la instancia de EC2, puede usarlo para generar una solicitud de firma de certificado (CSR). La CSR es un certificado sin firmar que envía a la CA para que lo firme. En este ejemplo, usamos el ejecutable certreq incluido con el SDK de Windows para generar la CSR.

Para generar una CSR con el ejecutable certreq
  1. Conéctese a la instancia de Windows EC2. Para obtener más información, consulte Conexión a una instancia en la Guía del usuario de Amazon EC2.

  2. Cree un archivo llamado request.inf con el siguiente contenido. Reemplace la información de Subject por los datos de la organización:

    [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 ver una explicación de cada uno de los parámetros, consulte la documentación de Microsoft.

  3. Ejecute certreq.exe para generar la CSR:

    certreq.exe -new request.inf request.csr

    Este comando genera un nuevo key pair en el AWS CloudHSM clúster y utiliza la clave privada para crear la CSR.

  4. Envíe la CSR a su CA. Si utiliza una CA de Windows Server, siga estos pasos:

    1. Abra la herramienta de la CA:

      certsrv.msc
    2. En la ventana nueva, haga clic con el botón derecho del ratón en el nombre del servidor de la CA. Elija Todas las tareas y, a continuación, elija Enviar solicitud nueva.

    3. Vaya a la ubicación de request.csr y seleccione Abrir.

    4. Expanda el menú Server CA y navegue hasta la carpeta de solicitudes pendientes. Right-click la solicitud que acaba de crear, elija Todas las tareas y, a continuación, elija Emitir.

    5. Vaya a la carpeta Certificados emitidos.

    6. Elija Abrir para ver el certificado y, a continuación, elija la pestaña Detalles.

    7. Elija Copiar en archivo para iniciar el Asistente para exportación de certificados. Guarda el DER-encoded X.509 archivo en una ubicación segura comosignedCertificate.cer.

    8. Salga de la herramienta de la CA y ejecute el siguiente comando para mover el archivo del certificado al almacén de certificados Personal en Windows.

      certreq.exe -accept signedCertificate.cer

Ahora puede usar el certificado importado para firmar un archivo.

Paso 3: firmar un archivo

Ahora que ya tiene Mage.exe su certificado importado, puede firmar un archivo. Necesita saber el SHA-1 hash o huella digital del certificado. La huella digital garantiza que Mage.exe solo se utilicen certificados verificados por. AWS CloudHSM En este ejemplo, utilizamos PowerShell para obtener el hash del certificado.

Para obtener la huella digital de un certificado y utilizarla para firmar un archivo
  1. Vaya al directorio que contiene mage.exe. La ubicación predeterminada es:

    C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8.1 Tools\x64
  2. Para crear un archivo de aplicación de muestra mediante Mage.exe, ejecute el siguiente comando:

    mage.exe -New Application -ToFile C:\Users\Administrator\Desktop\sample.application
  3. PowerShell Ábralo como administrador y ejecute el siguiente comando:

    Get-ChildItem -path cert:\LocalMachine\My

    Copie los valores Thumbprint, Key Container y Provider desde la salida.

    El hash del certificado se mostrará como la huella digital, el contenedor de claves y el proveedor en la salida
  4. Firme el archivo mediante la ejecución del siguiente comando:

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

    Si el comando se ejecuta correctamente, PowerShell devuelve un mensaje de éxito.

  5. Para verificar la firma del archivo, use el siguiente comando:

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