Skip to content

feat: firma de código para distribución interna#4

Open
Owito wants to merge 1 commit into
mainfrom
feat/firma-codigo
Open

feat: firma de código para distribución interna#4
Owito wants to merge 1 commit into
mainfrom
feat/firma-codigo

Conversation

@Owito

@Owito Owito commented Jul 11, 2026

Copy link
Copy Markdown
Owner

Firma la app y el instalador para equipos que controlas (distribución interna).

Qué hace

  • Certificado auto-firmado (New-CodeSigningCert.ps1) → signing/Margoth-CodeSigning.{cer,pfx} (ignorados por git).
  • Firma (sign.ps1) de Margoth.exe y Margoth_Setup.exe con sello de tiempo RFC3161, usando el cert del almacén (sin signtool).
  • Confianza (Trust-MargothCert.ps1) del cert público en cada equipo destino → la firma pasa a válida y desaparece el "Editor desconocido".
  • README documenta el flujo completo y aclara la limitación.

Limitación (importante)

Un cert auto-firmado no quita SmartScreen para usuarios externos; eso exige un certificado EV comprado. El mismo pipeline funciona con un EV: solo cambia el certificado.

Verificado

Ambos binarios quedan firmados por CN=Carlos G + sello de tiempo de DigiCert. El estado es Valid en equipos donde se confía el certificado (paso Trust-MargothCert.ps1, con el diálogo de seguridad estándar de Windows para la raíz).

Nota: signing/ (certificados y clave privada) queda fuera del repo por diseño.

Copilot AI review requested due to automatic review settings July 11, 2026 00:51
Firma Authenticode de la app y el instalador con certificado auto-firmado,
para equipos controlados (no elimina SmartScreen en distribucion publica,
que exige un certificado EV comprado; el pipeline sirve igual con uno).

- tools/New-CodeSigningCert.ps1: crea el cert y exporta signing/*.{cer,pfx}
- tools/sign.ps1: firma Margoth.exe y Margoth_Setup.exe con sello RFC3161,
  usando el cert del almacen (sin signtool)
- tools/Trust-MargothCert.ps1: confia el cert publico en cada equipo destino
- .gitignore: excluye signing/ y todo material de clave (*.pfx/*.cer/...)
- README: flujo de firma (build->firmar->empaquetar->firmar->confiar) y nota
  para el usuario final sobre el aviso de editor

Verificado: ambos binarios quedan firmados por 'CN=Carlos G' con sello de
tiempo de DigiCert; el estado pasa a Valido en equipos que confian el cert.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Este PR incorpora un flujo de firma de código Authenticode para distribución interna en Windows, incluyendo scripts para crear un certificado de firma auto-firmado, firmar los binarios generados y confiar el certificado en equipos destino, además de documentar el proceso en el README.

Changes:

  • Añade scripts PowerShell para: generar un certificado de firma (auto-firmado), firmar Margoth.exe / Margoth_Setup.exe, e instalar confianza del certificado en el equipo.
  • Documenta el flujo completo de firma (interno) y ajusta instrucciones de instalación para reflejar el escenario con certificado confiado.
  • Ignora en git el material de firma (signing/ y extensiones de certificados/claves) para evitar commits accidentales.

Reviewed changes

Copilot reviewed 4 out of 5 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
tools/New-CodeSigningCert.ps1 Script para crear y exportar certificado auto-firmado de firma de código.
tools/sign.ps1 Script para firmar ejecutable e instalador con certificado del almacén y sello de tiempo.
tools/Trust-MargothCert.ps1 Script para importar el .cer en Root y TrustedPublisher (CurrentUser/LocalMachine).
README.md Documenta firma de código para equipos internos y matiza el aviso de Windows en instalación.
.gitignore Excluye material de firma (certificados/claves) del repositorio.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread tools/sign.ps1
Comment thread tools/sign.ps1
Comment thread tools/Trust-MargothCert.ps1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants