Política de firma de código
Cómo se firma el instalador de Windows del DS2000, quién puede firmarlo y cómo verificar una firma.
Quién firma
Firma de código gratuita provista por SignPath.io, certificado de SignPath Foundation.
Las versiones hasta la v0.2.0 inclusive no están firmadas. La firma se aplica desde la primera versión posterior a que SignPath Foundation apruebe la solicitud del proyecto.
Qué se firma
Solo archivos compilados desde el repositorio público Mechanix97/DS2000:
- El instalador de Windows,
DS2000_<versión>_x64_en-US.msi, adjunto a cada versión. - El ejecutable de la app,
DS2000.exe, que va adentro.
Las bibliotecas de terceros se compilan dentro de la app desde su código fuente; con este certificado no se firma ningún binario de terceros. Tampoco el firmware del dispositivo: las imágenes de firmware se firman con la clave minisign propia del proyecto (minisign.pub en DS2000-Firmware), y la app rechaza las que no coinciden.
Cómo se firma una versión
- Una etiqueta de versión en el repositorio inicia el flujo de publicación en un runner de GitHub. No se firma nada compilado en la computadora de un desarrollador.
- El flujo compila el instalador desde el código etiquetado y lo envía a SignPath.
- Un aprobador revisa la solicitud y la aprueba a mano. Ninguna versión se firma de forma automática.
- El instalador firmado se adjunta a un borrador de versión, que se publica recién después de revisarlo.
Roles del equipo
Todos los miembros usan autenticación de varios factores en GitHub y en SignPath.
- Autores y revisores: Mechanix97. La rama principal está protegida: los cambios llegan solo por pull requests cuyos controles pasan.
- Aprobadores: Mechanix97.
Privacidad
La app solo se conecta a los servicios detallados en la política de privacidad, y ninguno es de Mechardo Labs. No junta telemetría.
Verificar una firma
Hacé clic derecho en el .msi descargado, elegí Propiedades y abrí Firmas digitales; el firmante tiene que ser SignPath Foundation. En PowerShell:
Get-AuthenticodeSignature .\DS2000_*.msi | Format-List
Si encontrás un archivo firmado que no se compiló desde este repositorio, o una versión firmada que se comporta mal, avisá por los issues de GitHub o por el formulario de contacto.