
Si desarrollas o distribuyes software para Windows, entender cómo firmar un archivo EXE garantiza que tus aplicaciones son de confianza y están libres de advertencias de seguridad. La firma de código verifica la autenticidad e integridad de un ejecutable, asegurando a los usuarios que el software procede de una fuente legítima y no ha sido manipulado. Sin una firma digital válida, Windows puede bloquear la aplicación o mostrar alertas de seguridad, lo que dificulta ganarse la confianza del usuario.
Este artículo explica cómo firmar un ejecutable, abarcando desde los requisitos y las instrucciones paso a paso hasta la verificación y las ventajas de firmar un archivo EXE.
Al final de esta guía, sabrás cómo obtener e instalar un certificado de firma de código, utilizar signtool.exe de Microsoft para firmar un archivo EXE y verificar que tu ejecutable está correctamente firmado. Comencemos.
Requisitos antes de firmar un EXE o una aplicación
Antes de firmar un archivo EXE, debes disponer de las herramientas y la configuración adecuadas. La firma de código no consiste sólo en aplicar una firma digital. Requiere un certificado válido, un almacenamiento seguro de claves y un software de firma adecuado. A continuación, repasaremos paso a paso los requisitos clave, desde la elección del certificado adecuado hasta la configuración del software necesario.
1. Consigue un Certificado de Firma de Código
En primer lugar, necesitas un certificado de firma de código emitido por una Autoridad de Certificación (CA) de confianza como DigiCert o Sectigo. Este certificado verifica tu identidad como editor de software.
Desde el 1 de junio de 2023, todos los certificados de firma de código deben almacenar la clave privada en hardware seguro. En consecuencia, no puedes generar ni guardar la clave privada en tu ordenador local. En su lugar, debe almacenarse en un dispositivo aprobado FIPS 140-2 Nivel 2+, como un token USB SafeNet o un Módulo de Seguridad de Hardware (HSM).
El tipo de certificado que elijas afecta a la forma de gestionar el almacenamiento de claves:
- Los Certificados de Firma de Código EV siempre vienen con un token SafeNet USB emitido por la CA. Este dispositivo físico contiene tu clave privada y es necesario cada vez que firmas un archivo EXE.
- Los certificados de firma de código estándar no incluyen un token USB. En su lugar, puedes utilizar un servicio de firma basado en la nube (como KeyLocker de DigiCert) o almacenar la clave privada en tu propio HSM si tu CA lo permite.
2. Configura tu entorno de firma
Una vez que tengas tu certificado y tu dispositivo de almacenamiento seguro, necesitas las herramientas adecuadas. El SDK (Kit de Desarrollo de Software) de Windows incluye la utilidad de firma necesaria, signtool.exe, que utilizarás para aplicar la firma digital. Si aún no está instalada, puedes descargar la última versión desde el sitio web oficial de Microsoft.

Si utilizas un certificado EV Code Signing, también tendrás que instalar el software SafeNet Authentication Client. Esto permite que tu sistema se comunique con el token USB y recupere la clave privada de forma segura. Si vas a firmar con un HSM, asegúrate de que el dispositivo está configurado adecuadamente y de que tu certificado es accesible desde tu entorno de firma.

También debes tener privilegios de administrador en tu ordenador. La firma de código requiere permisos elevados, así que ejecuta Símbolo del sistema o PowerShell como administrador antes de ejecutar cualquier comando de firma.
3. Por qué es importante la marca de tiempo
Una parte clave del proceso de firma es la marca de tiempo, que garantiza que tu firma digital siga siendo válida incluso después de que caduque tu certificado. Sin una marca de tiempo, Windows tratará tu EXE firmado como no fiable una vez que el certificado alcance su fecha de caducidad.
Cuando firmas tu archivo, la herramienta de firma se pone en contacto con un servidor de sellado de tiempo, que registra la fecha y hora exactas de la firma. Esto demuestra que tu archivo se firmó cuando el certificado aún era válido. La mayoría de las CA ofrecen servicios gratuitos de sellado de tiempo. Si no añades una marca de tiempo, los usuarios verán advertencias sobre una firma caducada, haciendo que tu aplicación parezca insegura.
4. Preparativos finales antes de firmar
Antes de firmar tu EXE, comprueba que tus herramientas de firma, controladores y dispositivo de almacenamiento seguro están configurados correctamente. Si utilizas un HSM, comprueba que la clave está accesible y correctamente configurada. Si utilizas un token USB SafeNet, asegúrate de que está enchufado y de que se está ejecutando el Cliente de autenticación SafeNet.
Con todo en su sitio, estás listo para firmar tu archivo EXE. Al principio, el proceso puede parecer complejo, pero si sigues estos pasos te asegurarás de que Windows confíe en tu software, evitarás advertencias de seguridad y tranquilizarás a los usuarios diciéndoles que tu aplicación se puede instalar con seguridad.
Guía paso a paso para firmar un archivo EXE
A continuación encontrarás una guía detallada y actualizada sobre cómo firmar un EXE, que ahora debe almacenarse en un módulo de seguridad de hardware (HSM) o en un token USB para mayor seguridad.
Paso 1: Inserta tu HSM o Token USB
Antes de poder firmar un EXE, debes conectar el token de hardware o HSM que contiene tu certificado de firma de código y tu clave privada. Las Autoridades de Certificación exigen ahora que todos los certificados de firma de código se almacenen en dispositivos aprobados por FIPS 140-2 Nivel 2, como un token USB SafeNet o un HSM YubiKey.
Pasos para conectar tu token hardware:
- Conecta el HSM o el token USB a tu máquina Windows.
- Si se te solicita, instala los controladores necesarios (la mayoría de los dispositivos se instalan automáticamente).
- Asegúrate de que tienes instalado el cliente de autenticación SafeNet o cualquier software HSM necesario.
Si utilizas un HSM basado en la nube (como Azure Key Vault o AWS CloudHSM), asegúrate de que tus credenciales están configuradas correctamente antes de continuar.
Paso 2: Abre el Símbolo del sistema como Administrador
Como la firma requiere permisos del sistema, debes utilizar Símbolo del sistema (cmd.exe) o PowerShell con derechos administrativos.
Pasos para abrir el Símbolo del sistema como Administrador:
- Haz clic en el menú Inicio y escribe cmd.
- Haz clic con el botón derecho del ratón en Símbolo del sistema y selecciona Ejecutar como administrador.
Alternativamente, si prefieres PowerShell, sigue los mismos pasos pero escribe PowerShell en su lugar.
Paso 3: Localiza SignTool
SignTool es una utilidad de Microsoft incluida en el SDK de Windows, necesaria para firmar ejecutables.
Encontrar SignTool en tu sistema:
La ubicación de SignTool depende de la versión del SDK de Windows que tengas instalada. Puedes encontrarlo en:
C:Archivos de programa (x86)Windows
Kits\10\bin\10.0.22621.0\x64\signtool.exe
Si es necesario, sustituye 10.0.22621.0 por la versión del SDK que tengas instalada.

Paso 4: Firma el EXE con SignTool
Ahora que todo está configurado, puedes firmar tu archivo EXE utilizando SignTool. A continuación se muestra un ejemplo del comando correcto para firmar con una marca de tiempo. Ajústalo según corresponda.
signtool sign /tr http://timestamp.digicert.com /td SHA256 /fd SHA256 /a "C:\path\to\yourfile.exe"
Explicación del comando:
- /tr http://timestamp.digicert.com – Especifica la URL del servidor de marcas de tiempo RFC 3161 (sustitúyela por el servidor de tu CA).
- /td SHA256 – Establece SHA-256 como algoritmo de compendio de marcas de tiempo.
- /fd SHA256 – Especifica SHA-256 como algoritmo de compendio de archivos (las versiones modernas de Windows lo requieren).
- /a – Selecciona automáticamente el certificado de firma de código correcto.
- “C:\path\totuarchivo.exe” – Sustitúyelo por la ruta real de tu archivo EXE.
Paso 5: Introduce la contraseña (si es necesaria)
Si tu HSM o token USB requiere autenticación, aparecerá una ventana emergente pidiéndote tu contraseña o PIN.
Qué hacer a continuación:
- Introduce la contraseña de tu token SafeNet (o de cualquier otro HSM).
- Si tienes varios certificados, SignTool puede pedirte que selecciones el correcto.
Nota: Si utilizas un HSM basado en la nube, puede que necesites autenticarte mediante credenciales API o un PIN seguro.
Verificar el archivo EXE firmado
Después de firmar tu EXE, confirma que la firma se ha aplicado correctamente e incluye una marca de tiempo. He aquí cómo puedes verificarlo:
1. Comprueba las propiedades del archivo
- Localiza en tu ordenador el archivo EXE firmado.
- Haz clic con el botón derecho en el archivo y selecciona Propiedades.
- Ve a la pestaña Firmas digitales.
- Si la firma se ha realizado correctamente, verás la firma listada junto con una marca de tiempo. Haz clic en Detalles para confirmar que el mensaje dice Esta firma digital es correcta.
2. Utiliza Poweshell para la verificación
Para una comprobación más profunda, puedes utilizar Windows Powershell.
- Abre PowerShell (Win + X → PowerShell).
- Ejecuta el comando:
Get-AuthenticodeSignature "C:\Windows\System32\cmd.exe"
Sustituye “cmd/exe” por tu archivo exe.
Esto mostrará detalles sobre la firma, incluyendo la cadena del certificado y la marca de tiempo. Si la firma no es válida o falta, Windows la marcará.
3. Prueba en otro sistema
Para mayor seguridad, prueba a descargar y ejecutar el EXE firmado en otro ordenador. Si todo es correcto, Windows debería reconocerlo como una aplicación de confianza sin mostrar advertencias de seguridad. Siguiendo estos pasos, puedes asegurarte de que tu EXE está correctamente firmado y listo para su distribución segura.
¿Por qué debes firmar un archivo EXE?
La firma de aplicaciones de Windows no es sólo una cuestión de seguridad: es una cuestión de confianza, protección y garantía de que tu software funcione sin problemas. He aquí algunas razones para firmar un archivo ejecutable:
- Los usuarios confían en el software firmado. Cuando un archivo EXE no está firmado, Windows lanza advertencias de seguridad, y algunos sistemas pueden bloquearlo por completo. Una firma verificada de una Autoridad de Certificación de confianza garantiza a los usuarios que el archivo es seguro y no ha sido manipulado.
- Impide las modificaciones no autorizadas. Una vez firmado, un EXE actúa como un paquete sellado. Si alguien intenta alterarlo, ya sea para inyectar malware o modificar el código, la firma se rompe y Windows marca el archivo como no fiable.
- Reduce las advertencias de Microsoft SmartScreen. SmartScreen es agresivo con el software no firmado, mostrando advertencias que hacen que los usuarios duden a la hora de instalarlo. Firmar tu EXE, especialmente con un certificado de Firma de Código con Validación Extendida (EV), reduce significativamente estas advertencias y hace que las instalaciones sean más fluidas.
- Es esencial para la distribución empresarial. Muchos entornos corporativos bloquean la ejecución de software no firmado en sus redes. Un EXE firmado cumple las políticas de seguridad, lo que garantiza que pueda desplegarse sin problemas.
- El sello de tiempo mantiene la validez de la firma. Sin una marca de tiempo, una firma pierde su validez en el momento en que caduca el certificado. Con una marca de tiempo, la firma sigue siendo válida incluso después de caducar, lo que garantiza que tu software siga funcionando.
Firma tu EXE con confianza – Consigue un Certificado de Firma de Código
Una vez que sepas cómo firmar un archivo exe y proteger tu software de las advertencias de seguridad, el siguiente paso es conseguir el certificado Code Signing adecuado. Tanto si eres un desarrollador independiente como una empresa, firmar tu EXE garantiza confianza, instalaciones sin problemas y protección contra manipulaciones. Sin una firma válida, Windows marcará tu software, dificultando a los usuarios su instalación y ejecución.
En SSL Dragon, ofrecemos certificados de firma de código OV y EV de los mejores proveedores, como DigiCert, Sectigo y GoGetSSL. ¿Necesitas una solución sencilla? Opta por la validación individual o de organización. ¿Quieres una reputación más sólida y menos advertencias de SmartScreen? La Validación Ampliada es el camino a seguir. Elige, firma tu software con confianza y haz que las advertencias de seguridad sean cosa del pasado.
Ahorre un 10% en certificados SSL al realizar su pedido hoy mismo.
Emisión rápida, cifrado potente, 99,99% de confianza del navegador, asistencia dedicada y garantía de devolución del dinero en 25 días. Código del cupón: SAVE10
