Firma de codigo
Estado: PENDIENTE de decisión comercial · Análisis del 23 de agosto de 2026
Al ejecutar el instalador, Windows muestra una pantalla azul de Microsoft Defender SmartScreen con «Publisher: Unknown Publisher». Este documento explica por qué, qué haría falta para quitarlo y cuánto cuesta cada opción.
Qué está pasando exactamente
Sección titulada «Qué está pasando exactamente»El aviso no dice que el archivo esté dañado ni que Windows haya detectado nada sospechoso. Dice que el instalador no lleva firma digital de código: un certificado que acredita quién publicó el archivo y que nadie lo alteró después.
Los metadatos del ejecutable ya son correctos —dice «Mantis Server» e «Intunet»— pero SmartScreen no los mira. Solo confía en la firma.
Por qué no hay una opción gratuita
Sección titulada «Por qué no hay una opción gratuita»Microsoft no valida el certificado en sí: valida quién lo emitió. SmartScreen solo confía en autoridades reconocidas (DigiCert, Sectigo, GlobalSign y unas pocas más), y esas cobran porque el trabajo que hacen es verificar que la empresa existe de verdad: registro mercantil, teléfono verificable, dirección física. Eso no se automatiza.
| Alternativa «gratis» | Por qué no sirve |
|---|---|
| Certificado autofirmado | SmartScreen lo ignora. Sigue diciendo «Unknown Publisher» |
| Let’s Encrypt | Emite certificados TLS para sitios web, no de firma de código |
| SignPath.io (plan libre) | Solo para proyectos de código abierto públicos. Mantis es privado |
Las tres opciones reales
Sección titulada «Las tres opciones reales»| Coste anual | Cuándo desaparece el aviso | |
|---|---|---|
| EV (Extended Validation) | 300–450 USD | Inmediato, desde la primera instalación |
| OV (Organization Validation) | 150–250 USD | Cuando se acumula reputación: semanas o meses |
| Azure Trusted Signing | ~120 USD | Inmediato — pero ver el requisito de abajo |
| Sin certificado | 0 | Nunca |
EV — la que resuelve el problema
Sección titulada «EV — la que resuelve el problema»Es la que usan los productos comerciales. SmartScreen confía desde el primer día. Requiere validación de la empresa y el certificado llega en un token USB físico o en un HSM en la nube: la clave privada no se puede copiar, que es justamente lo que le da su valor.
OV — más barata, pero con un riesgo concreto
Sección titulada «OV — más barata, pero con un riesgo concreto»Con OV el aviso sigue apareciendo al principio, aunque ya con el nombre «Intunet S.A.S.» en lugar de «Unknown Publisher». Desaparece cuando SmartScreen acumula suficientes instalaciones del archivo firmado.
⚠️ Ese es el riesgo para Mantis. La reputación se construye con volumen de descargas, y Mantis se instala en pocas sedes. Con ese ritmo, la reputación podría no llegar nunca a limpiarse — se pagaría el certificado y el aviso seguiría saliendo.
Azure Trusted Signing — la más barata, si se puede usar
Sección titulada «Azure Trusted Signing — la más barata, si se puede usar»Unos 10 USD al mes, con la ventaja de EV (confianza inmediata) sin token físico. Pero exige:
- Empresa con 3 años o más de historial verificable, y
- entidad legal en Estados Unidos o Canadá.
⚠️ Ese segundo requisito probablemente deja fuera a Intunet como sociedad colombiana. Conviene confirmarlo con Microsoft antes de descartarlo: es la diferencia entre 120 y 450 USD al año.
Qué se hace mientras tanto
Sección titulada «Qué se hace mientras tanto»Sin certificado, lo que sustituye a la firma es el hash SHA256:
- Cada instalador se publica con su archivo
.sha256al lado. - La guía de instalación pide comprobarlo antes de ejecutar.
- El aviso de SmartScreen está documentado con el paso exacto para superarlo.
Es una garantía más fuerte que la que ofrece el propio aviso: si el hash coincide, el archivo es exactamente el que publicamos, byte a byte. Lo que la firma añadiría es que Windows lo compruebe por el usuario, sin que este tenga que hacer nada.
Si se compra el certificado
Sección titulada «Si se compra el certificado»La integración es un paso más en empaquetar-servidor.ps1, después de generar
el .exe y antes de calcular las huellas:
signtool sign /fd SHA256 /td SHA256 /tr http://timestamp.digicert.com ` /a "mantis-server-X.Y.Z-setup.exe"⚠️ El sellado de tiempo (/tr) no es opcional. Sin él, las firmas dejan de
ser válidas el día que caduque el certificado, incluidos los instaladores ya
entregados a clientes. Con él, siguen siendo válidas para siempre: acreditan
que se firmaron mientras el certificado estaba vigente.
Habría que firmar tres artefactos: el instalador completo, el paquete de actualización y el instalador de la Station.