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) 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 utilizar Mage.exe
Temas
Paso 1: configurar los requisitos previos
Para usar Microsoft Mage.exe con AWS CloudHSM, necesita lo siguiente:
-
Una EC2 instancia de Amazon que ejecuta 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 EC2 instancia, 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 para su uso AWS CloudHSM con Mage.exe
-
Inicie una EC2 instancia y un AWS CloudHSM clúster de Windows siguiendo las instrucciones de la sección Introducción de esta guía.
-
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.
-
Descarga e instala el SDK de Microsoft Windows para .NET Framework 4.8.1 o una versión posterior en tu EC2 instancia de Windows:
El ejecutable
mage.exeforma 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 has instalado el SDK de Windows en tu EC2 instancia, puedes 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
-
Conéctese a su EC2 instancia de Windows. Para obtener más información, consulte Connect to Your Instance en la Guía del EC2 usuario de Amazon.
-
Cree un archivo llamado
request.infcon el siguiente contenido. Reemplace la información deSubjectpor 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 = FalsePara ver una explicación de cada uno de los parámetros, consulte la documentación de Microsoft
. -
Ejecute
certreq.exepara generar la CSR:certreq.exe -new request.inf request.csrEste comando genera un nuevo key pair en el AWS CloudHSM clúster y utiliza la clave privada para crear la CSR.
-
Envíe la CSR a su CA. Si utiliza una CA de Windows Server, siga estos pasos:
-
Abra la herramienta de la CA:
certsrv.msc -
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.
-
Vaya a la ubicación de
request.csry seleccione Abrir. -
Expanda el menú CA de Server y vaya a la carpeta Solicitudes pendientes. Haga clic con el botón derecho en la solicitud que acaba de crear, seleccione Todas las tareas y, a continuación, seleccione Emitir
-
Vaya a la carpeta Certificados emitidos.
-
Elija Abrir para ver el certificado y, a continuación, elija la pestaña Detalles.
-
Elija Copiar en archivo para iniciar el Asistente para exportación de certificados. Guarde en un lugar seguro el archivo X.509 con codificación DER como
signedCertificate.cer. -
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 tiene Mage.exe y el certificado importado, puede firmar un archivo. Debe conocer el hash SHA-1 del certificado, o huella digital. La huella digital garantiza que Mage.exe solo use certificados verificados por AWS CloudHSM. En este ejemplo, se utiliza PowerShell para obtener el hash del certificado.
Para obtener la huella digital de un certificado y utilizarla para firmar un archivo
-
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 -
Para crear un archivo de aplicación de ejemplo con Mage.exe, ejecute el siguiente comando:
mage.exe -New Application -ToFile C:\Users\Administrator\Desktop\sample.application -
PowerShell Ábrelo como administrador y ejecuta el siguiente comando:
Get-ChildItem -path cert:\LocalMachine\MyCopie los valores
Thumbprint,Key ContaineryProviderdesde la salida.
-
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.
-
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>